8 #ifndef SOCI_USE_TYPE_H_INCLUDED 9 #define SOCI_USE_TYPE_H_INCLUDED 19 namespace soci {
namespace details {
31 virtual void pre_use() = 0;
32 virtual void post_use(
bool gotData) = 0;
33 virtual void clean_up() = 0;
35 virtual std::size_t size()
const = 0;
44 bool readOnly, std::string
const& name = std::string())
59 bool readOnly, std::string
const& name = std::string())
81 virtual void pre_use();
84 virtual void post_use(
bool gotData);
85 virtual void clean_up();
86 virtual std::size_t
size()
const {
return 1; }
101 std::string
const& name = std::string())
110 std::vector<indicator>
const& ind,
111 std::string
const& name = std::string())
123 virtual void pre_use();
125 virtual void clean_up();
126 virtual std::size_t size()
const;
130 std::vector<indicator>
const*
ind_;
141 template <
typename T>
145 use_type(T& t, std::string
const& name = std::string())
150 use_type(T
const& t, std::string
const& name = std::string())
166 template <
typename T>
170 use_type(std::vector<T>& v, std::string
const& name = std::string())
175 use_type(std::vector<T>
const& v, std::string
const& name = std::string())
180 use_type(std::vector<T>& v, std::vector<indicator>
const& ind,
181 std::string
const& name = std::string())
186 use_type(std::vector<T>
const& v, std::vector<indicator>
const& ind,
187 std::string
const& name = std::string())
195 template <
typename T>
201 template <
typename T>
207 template <
typename T>
214 template <
typename T>
221 template <
typename T>
222 use_type_ptr
do_use(T & t, std::vector<indicator> & ind,
228 template <
typename T>
229 use_type_ptr
do_use(T
const & t, std::vector<indicator> & ind,
239 #endif // SOCI_USE_TYPE_H_INCLUDED
use_type(std::vector< T > &v, std::string const &name=std::string())
use_type(T &t, std::string const &name=std::string())
std::string get_name() const
standard_use_type(void *data, exchange_type type, bool readOnly, std::string const &name=std::string())
use_type(T const &t, indicator &ind, std::string const &name=std::string())
virtual void post_use(bool)
use_type(std::vector< T > &v, std::vector< indicator > const &ind, std::string const &name=std::string())
use_type(std::vector< T > const &v, std::string const &name=std::string())
vector_use_type(void *data, exchange_type type, std::string const &name=std::string())
vector_use_type_backend * backEnd_
virtual std::size_t size() const
use_type(T const &t, std::string const &name=std::string())
type_ptr< use_type_base > use_type_ptr
use_type(std::vector< T > const &v, std::vector< indicator > const &ind, std::string const &name=std::string())
standard_use_type_backend * backEnd_
virtual void convert_to_base()
use_type_ptr do_use(T &t, std::string const &name, user_type_tag)
virtual void convert_to_base()
virtual void * get_data()
use_type(T &t, indicator &ind, std::string const &name=std::string())
virtual void convert_from_base()
vector_use_type(void *data, exchange_type type, std::vector< indicator > const &ind, std::string const &name=std::string())
standard_use_type(void *data, exchange_type type, indicator &ind, bool readOnly, std::string const &name=std::string())
std::vector< indicator > const * ind_