@@ -127,50 +127,14 @@ namespace sqlite {
127
127
128
128
friend class row_iterator ;
129
129
};
130
- namespace detail {
131
- template <typename Type>
132
- struct is_sqlite_value : public std ::integral_constant<
133
- bool ,
134
- std::is_floating_point<Type>::value
135
- || std::is_integral<Type>::value
136
- || std::is_same<std::string, Type>::value
137
- || std::is_same<std::u16string, Type>::value
138
- || std::is_same<sqlite_int64, Type>::value
139
- > { };
140
- template <typename Type, typename Allocator>
141
- struct is_sqlite_value < std::vector<Type, Allocator> > : public std::integral_constant<
142
- bool ,
143
- std::is_floating_point<Type>::value
144
- || std::is_integral<Type>::value
145
- || std::is_same<sqlite_int64, Type>::value
146
- > { };
147
- template <typename T>
148
- struct is_sqlite_value < std::unique_ptr<T> > : public is_sqlite_value<T> {};
149
- #ifdef MODERN_SQLITE_STD_VARIANT_SUPPORT
150
- template <typename ...Args>
151
- struct is_sqlite_value < std::variant<Args...> > : public std::integral_constant<
152
- bool ,
153
- true
154
- > { };
155
- #endif
156
- #ifdef MODERN_SQLITE_STD_OPTIONAL_SUPPORT
157
- template <typename T>
158
- struct is_sqlite_value < optional<T> > : public is_sqlite_value<T> {};
159
- #endif
160
-
161
- #ifdef _MODERN_SQLITE_BOOST_OPTIONAL_SUPPORT
162
- template <typename T>
163
- struct is_sqlite_value < boost::optional<T> > : public is_sqlite_value<T> {};
164
- #endif
165
- }
166
130
167
131
class row_iterator {
168
132
public:
169
133
class value_type {
170
134
public:
171
135
value_type (database_binder *_binder): _binder(_binder) {};
172
136
template <class T >
173
- typename std::enable_if<detail:: is_sqlite_value<T>::value, value_type &>::type operator >>(T &result) {
137
+ typename std::enable_if<is_sqlite_value<T>::value, value_type &>::type operator >>(T &result) {
174
138
get_col_from_db (_binder->_stmt .get (), next_index++, result);
175
139
return *this ;
176
140
}
0 commit comments