From 48c1630764665072bbb592f7072e48aa654a1c71 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Thu, 24 Mar 2011 12:18:13 +0200 Subject: Factor out bind struct to sqlite-types.hxx --- odb/sqlite/binding.hxx | 24 ++---------------------- odb/sqlite/sqlite-types.hxx | 42 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 44 insertions(+), 22 deletions(-) create mode 100644 odb/sqlite/sqlite-types.hxx diff --git a/odb/sqlite/binding.hxx b/odb/sqlite/binding.hxx index 70edd28..426195b 100644 --- a/odb/sqlite/binding.hxx +++ b/odb/sqlite/binding.hxx @@ -12,33 +12,13 @@ #include +#include #include namespace odb { namespace sqlite { - // The SQLite parameter/result binding. This data structures is - // modelled after MYSQL_BIND from MySQL. - // - struct bind - { - enum buffer_type - { - integer, // Buffer is long long; size, capacity, truncated are unused. - real, // Buffer is double; size, capacity, truncated are unused. - text, // Buffer is a char array. - blob // Buffer is a char array. - }; - - buffer_type type; - void* buffer; - std::size_t* size; - std::size_t capacity; - bool* is_null; - bool* truncated; - }; - class LIBODB_SQLITE_EXPORT binding { public: @@ -51,7 +31,7 @@ namespace odb bind_type* bind; std::size_t count; - std::size_t version; + std::size_t version; // @@ Don't really need it (gen code). private: binding (const binding&); diff --git a/odb/sqlite/sqlite-types.hxx b/odb/sqlite/sqlite-types.hxx new file mode 100644 index 0000000..b0bcde4 --- /dev/null +++ b/odb/sqlite/sqlite-types.hxx @@ -0,0 +1,42 @@ +// file : odb/sqlite/sqlite-types.hxx +// author : Boris Kolpackov +// copyright : Copyright (c) 2005-2011 Code Synthesis Tools CC +// license : GNU GPL v2; see accompanying LICENSE file + +#ifndef ODB_SQLITE_SQLITE_TYPES_HXX +#define ODB_SQLITE_SQLITE_TYPES_HXX + +#include + +#include // std::size_t + +namespace odb +{ + namespace sqlite + { + // The SQLite parameter/result binding. This data structures is modelled + // after MYSQL_BIND from MySQL. + // + struct bind + { + enum buffer_type + { + integer, // Buffer is long long; size, capacity, truncated are unused. + real, // Buffer is double; size, capacity, truncated are unused. + text, // Buffer is a char array. + blob // Buffer is a char array. + }; + + buffer_type type; + void* buffer; + std::size_t* size; + std::size_t capacity; + bool* is_null; + bool* truncated; + }; + } +} + +#include + +#endif // ODB_SQLITE_SQLITE_TYPES_HXX -- cgit v1.1