diff options
Diffstat (limited to 'odb/sqlite/object-result.hxx')
-rw-r--r-- | odb/sqlite/object-result.hxx | 53 |
1 files changed, 45 insertions, 8 deletions
diff --git a/odb/sqlite/object-result.hxx b/odb/sqlite/object-result.hxx index 401c83a..fb7865c 100644 --- a/odb/sqlite/object-result.hxx +++ b/odb/sqlite/object-result.hxx @@ -22,12 +22,11 @@ namespace odb namespace sqlite { template <typename T> - class result_impl<T, class_object>: - public odb::result_impl<T, class_object>, - public result_impl_base + class object_result_impl: public odb::object_result_impl<T>, + public result_impl_base { public: - typedef odb::result_impl<T, class_object> base_type; + typedef odb::object_result_impl<T> base_type; typedef typename base_type::object_traits object_traits; typedef typename base_type::object_type object_type; @@ -37,11 +36,11 @@ namespace odb typedef typename base_type::pointer_traits pointer_traits; virtual - ~result_impl (); + ~object_result_impl (); - result_impl (const query&, - details::shared_ptr<select_statement>, - object_statements<object_type>&); + object_result_impl (const query&, + details::shared_ptr<select_statement>, + object_statements<object_type>&); virtual void load (object_type&); @@ -67,6 +66,44 @@ namespace odb private: object_statements<object_type>& statements_; }; + + template <typename T> + class object_result_impl_no_id: public odb::object_result_impl_no_id<T>, + public result_impl_base + { + public: + typedef odb::object_result_impl_no_id<T> base_type; + + typedef typename base_type::object_traits object_traits; + typedef typename base_type::object_type object_type; + + typedef typename base_type::pointer_type pointer_type; + typedef typename base_type::pointer_traits pointer_traits; + + virtual + ~object_result_impl_no_id (); + + object_result_impl_no_id (const query&, + details::shared_ptr<select_statement>, + object_statements_no_id<object_type>&); + + virtual void + load (object_type&); + + virtual void + next (); + + virtual void + cache (); + + virtual std::size_t + size (); + + using base_type::current; + + private: + object_statements_no_id<object_type>& statements_; + }; } } |