Oracle ODB Runtime Library
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
no-id-object-result.hxx
Go to the documentation of this file.
1 // file : odb/oracle/no-id-object-result.hxx
2 // copyright : Copyright (c) 2009-2013 Code Synthesis Tools CC
3 // license : ODB NCUEL; see accompanying LICENSE file
4 
5 #ifndef ODB_ORACLE_NO_ID_OBJECT_RESULT_HXX
6 #define ODB_ORACLE_NO_ID_OBJECT_RESULT_HXX
7 
8 #include <odb/pre.hxx>
9 
10 #include <cstddef> // std::size_t
11 
12 #include <odb/schema-version.hxx>
14 
15 #include <odb/details/shared-ptr.hxx>
16 
17 #include <odb/oracle/version.hxx>
18 #include <odb/oracle/forward.hxx> // query_base
19 #include <odb/oracle/statement.hxx>
21 
22 namespace odb
23 {
24  namespace oracle
25  {
26  template <typename T>
28  {
29  public:
31 
34 
37 
38  typedef typename object_traits::statements_type statements_type;
39 
40  virtual
42 
44  details::shared_ptr<select_statement>,
47 
48  virtual void
49  load (object_type&);
50 
51  virtual void
52  next ();
53 
54  virtual void
55  cache ();
56 
57  virtual std::size_t
58  size ();
59 
60  virtual void
61  invalidate ();
62 
63  using base_type::current;
64 
65  private:
67 
68  static void
69  change_callback (void* context, binding*);
70 
71  private:
72  details::shared_ptr<select_statement> statement_;
73  statements_type& statements_;
75  bool use_copy_;
76  typename object_traits::image_type* image_copy_;
77  };
78  }
79 }
80 
81 #include <odb/oracle/no-id-object-result.txx>
82 
83 #include <odb/post.hxx>
84 
85 #endif // ODB_ORACLE_NO_ID_OBJECT_RESULT_HXX
Definition: no-id-object-result.hxx:27
base_type::pointer_type pointer_type
Definition: no-id-object-result.hxx:33
Definition: query.hxx:165
base_type::pointer_traits pointer_traits
Definition: no-id-object-result.hxx:36
object_traits_impl< object_type, id_oracle > object_traits
Definition: no-id-object-result.hxx:35
Definition: binding.hxx:21
base_type::object_type object_type
Definition: no-id-object-result.hxx:32
object_traits::pointer_type pointer_type
no_id_object_result_impl(const query_base &, details::shared_ptr< select_statement >, statements_type &, const schema_version_migration *)
object_traits::statements_type statements_type
Definition: no-id-object-result.hxx:38
Definition: oracle-types.hxx:131
virtual void load(object_type &)
odb::no_id_object_result_impl< T > base_type
Definition: no-id-object-result.hxx:30