5 #ifndef ODB_SIMPLE_OBJECT_RESULT_HXX
6 #define ODB_SIMPLE_OBJECT_RESULT_HXX
19 #include <odb/details/config.hxx>
26 class object_result_impl:
public result_impl
33 typedef typename object_traits::id_type
id_type;
58 if (pointer_traits::null_ptr (current_) && !
end_)
114 current_ = std::move (p);
117 guard_.reset (current_);
134 guard_.reset (current_);
149 typename pointer_traits::guard guard_;
152 template <
typename T,
typename ID>
184 return res_->load_id ();
192 #include <odb/simple-object-result.txx>
196 #endif // ODB_SIMPLE_OBJECT_RESULT_HXX
odb::pointer_traits< pointer_type > pointer_traits
Definition: simple-object-result.hxx:36
bool end() const
Definition: simple-object-result.hxx:82
pointer_type & current()
Definition: simple-object-result.hxx:56
object_result_impl< object_type > result_impl_type
Definition: simple-object-result.hxx:161
object_traits::id_type id_type
Definition: simple-object-result.hxx:33
odb::object_traits< object_type > object_traits
Definition: simple-object-result.hxx:32
result_impl_type * res_
Definition: simple-object-result.hxx:188
bool end_
Definition: simple-object-result.hxx:141
void release()
Definition: simple-object-result.hxx:65
object_result_impl(odb::connection &conn)
Definition: simple-object-result.hxx:46
id_type id()
Definition: simple-object-result.hxx:182
virtual void load(object_type &, bool fetch=true)=0
Definition: object-result.hxx:24
Definition: pointer-traits.hxx:28
virtual std::size_t size()=0
object_traits< T >::object_type object_type
Definition: simple-object-result.hxx:158
T object_type
Definition: simple-object-result.hxx:31
Definition: object-result.hxx:63
Definition: forward.hxx:123
object_traits< T >::id_type id_type
Definition: simple-object-result.hxx:159
object_traits< T >::pointer_type load()
Definition: simple-object-result.hxx:171
void current(pointer_type p, bool guard=true)
Definition: simple-object-result.hxx:129
Definition: result.hxx:20
access::object_traits< T >::object_type object_type
Definition: traits.hxx:115
object_traits::pointer_type pointer_type
Definition: simple-object-result.hxx:35
Definition: traits.hxx:79
object_result_iterator(result_impl_type *res)
Definition: simple-object-result.hxx:164
void begin()
Definition: simple-object-result.hxx:72
Definition: connection.hxx:33
Definition: result.hxx:75
bool begin_
Definition: simple-object-result.hxx:140
virtual id_type load_id()=0
access::object_traits< T >::pointer_type pointer_type
Definition: traits.hxx:116
Definition: result.hxx:56