1 #ifndef SOCI_BIND_VALUES_H_INCLUDED 2 #define SOCI_BIND_VALUES_H_INCLUDED 13 # include <boost/fusion/algorithm/iteration/for_each.hpp> 14 # include <boost/mpl/bool.hpp> 28 for(iterator iter = begin(), _end = end();
35 template <
typename T,
typename Indicator>
39 exchange_(uc, (
typename boost::fusion::traits::is_sequence<T>::type *)NULL);
47 template <
typename T,
typename Indicator>
53 template <
typename T2>
54 void operator()(T2 &t2)
const 56 p.exchange(
use(t2, ind));
69 template <
typename T2>
70 void operator()(T2 &t2)
const 78 template <
typename T,
typename Indicator>
81 boost::fusion::for_each(uc.
t, use_sequence<T, Indicator>(*
this, uc.
ind));
87 boost::fusion::for_each(uc.
t, use_sequence<T, details::no_indicator>(*
this));
92 template <
typename T,
typename Indicator>
100 template <
typename T,
typename Indicator>
104 template <
typename T>
114 for(iterator iter = begin(), _end = end();
115 iter != _end; iter++)
121 template <
typename T,
typename Indicator>
125 exchange_(ic, (
typename boost::fusion::traits::is_sequence<T>::type *)NULL);
133 template <
typename T,
typename Indicator>
139 template <
typename T2>
140 void operator()(T2 &t2)
const 142 p.exchange(
into(t2, ind));
149 template <
typename T>
155 template <
typename T2>
156 void operator()(T2 &t2)
const 158 p.exchange(
into(t2));
164 template <
typename T,
typename Indicator>
167 boost::fusion::for_each(ic.
t, into_sequence<T, Indicator>(*
this, ic.
ind));
170 template <
typename T>
173 boost::fusion::for_each(ic.
t, into_sequence<T, details::no_indicator>(*
this));
177 template <
typename T,
typename Indicator>
181 template <
typename T>
188 #endif // SOCI_BIND_VALUES_H_INCLUDED
details::into_container< T, details::no_indicator > into(T &t)
into_type_ptr do_into(T &t, basic_type_tag)
void exchange(use_type_ptr const &u)
void exchange_(into_container< T, details::no_indicator > const &ic,...)
void exchange(use_container< T, Indicator > const &uc)
void exchange_(use_container< T, Indicator > const &uc,...)
void exchange_(use_container< const T, details::no_indicator > const &uc,...)
use_type_ptr do_use(T &t, std::string const &name, user_type_tag)
void exchange_(use_container< T, details::no_indicator > const &uc,...)
void exchange_(use_container< const T, Indicator > const &uc,...)
void exchange(into_container< T, Indicator > const &ic)
void exchange_(into_container< T, Indicator > const &ic,...)
void exchange(into_type_ptr const &i)
details::use_container< T, details::no_indicator > use(T &t, const std::string &name=std::string())