diff options
Diffstat (limited to 'odb/pgsql/traits.cxx')
-rw-r--r-- | odb/pgsql/traits.cxx | 143 |
1 files changed, 0 insertions, 143 deletions
diff --git a/odb/pgsql/traits.cxx b/odb/pgsql/traits.cxx deleted file mode 100644 index 11a3a67..0000000 --- a/odb/pgsql/traits.cxx +++ /dev/null @@ -1,143 +0,0 @@ -// file : odb/pgsql/traits.cxx -// license : GNU GPL v2; see accompanying LICENSE file - -#include <odb/pgsql/traits.hxx> - -using namespace std; - -namespace odb -{ - namespace pgsql - { - using details::buffer; - - // - // default_value_traits<std::string, id_string> - // - void default_value_traits<std::string, id_string>:: - set_image (buffer& b, - size_t& n, - bool& is_null, - const string& v) - { - is_null = false; - n = v.size (); - - if (n > b.capacity ()) - b.capacity (n); - - if (n != 0) - memcpy (b.data (), v.c_str (), n); - } - - // - // c_string_value_traits - // - void c_string_value_traits:: - set_image (buffer& b, - size_t& n, - bool& is_null, - const char* v) - { - is_null = false; - n = strlen (v); - - if (n > b.capacity ()) - b.capacity (n); - - if (n != 0) - memcpy (b.data (), v, n); - } - - // - // c_array_value_traits_base - // - void c_array_value_traits_base:: - set_value (char* const& v, - const details::buffer& b, - size_t n, - bool is_null, - size_t N) - { - if (!is_null) - { - n = n < N ? n : N; - - if (n != 0) - memcpy (v, b.data (), n); - } - else - n = 0; - - if (n != N) // Append '\0' if there is space. - v[n] = '\0'; - } - - void c_array_value_traits_base:: - set_image (details::buffer& b, - size_t& n, - bool& is_null, - const char* v, - size_t N) - { - is_null = false; - - // Figure out the length. We cannot use strlen since it may - // not be 0-terminated (strnlen is not standard). - // - for (n = 0; n != N && v[n] != '\0'; ++n) ; - - if (n > b.capacity ()) - b.capacity (n); - - if (n != 0) - memcpy (b.data (), v, n); - } - - // - // default_value_traits<vector<char>, id_bytea> - // - // std::vector has to be qualified for Sun CC. - // - void default_value_traits<std::vector<char>, id_bytea>:: - set_image (details::buffer& b, - size_t& n, - bool& is_null, - const value_type& v) - { - is_null = false; - n = v.size (); - - if (n > b.capacity ()) - b.capacity (n); - - // std::vector::data() may not be available in older compilers. - // - if (n != 0) - memcpy (b.data (), &v.front (), n); - } - - // - // default_value_traits<vector<unsigned char>, id_bytea> - // - // std::vector has to be qualified for Sun CC. - // - void default_value_traits<std::vector<unsigned char>, id_bytea>:: - set_image (details::buffer& b, - size_t& n, - bool& is_null, - const value_type& v) - { - is_null = false; - n = v.size (); - - if (n > b.capacity ()) - b.capacity (n); - - // std::vector::data() may not be available in older compilers. - // - if (n != 0) - memcpy (b.data (), &v.front (), n); - } - } -} |