Oracle ODB Runtime Library
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
view-result.hxx
Go to the documentation of this file.
1 // file : odb/oracle/view-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_VIEW_RESULT_HXX
6 #define ODB_ORACLE_VIEW_RESULT_HXX
7 
8 #include <odb/pre.hxx>
9 
10 #include <cstddef> // std::size_t
11 
12 #include <odb/schema-version.hxx>
13 #include <odb/view-result.hxx>
14 
15 #include <odb/details/shared-ptr.hxx>
16 
17 #include <odb/oracle/version.hxx>
18 #include <odb/oracle/forward.hxx> // query_base, view_statements
19 #include <odb/oracle/statement.hxx>
21 
22 namespace odb
23 {
24  namespace oracle
25  {
26  template <typename T>
28  {
29  public:
31 
32  typedef typename base_type::view_type view_type;
34 
37 
39 
40  virtual
42 
44  details::shared_ptr<select_statement>,
47 
48  virtual void
49  load (view_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 view_traits::image_type* image_copy_;
77  };
78  }
79 }
80 
81 #include <odb/oracle/view-result.txx>
82 
83 #include <odb/post.hxx>
84 
85 #endif // ODB_ORACLE_VIEW_RESULT_HXX
virtual void load(view_type &)
base_type::pointer_traits pointer_traits
Definition: view-result.hxx:36
Definition: query.hxx:165
view_traits_impl< view_type, id_oracle > view_traits
Definition: view-result.hxx:35
base_type::pointer_type pointer_type
Definition: view-result.hxx:33
Definition: forward.hxx:67
view_result_impl(const query_base &, details::shared_ptr< select_statement >, statements_type &, const schema_version_migration *)
view_statements< view_type > statements_type
Definition: view-result.hxx:38
pointer_type & current()
Definition: binding.hxx:21
Definition: view-result.hxx:27
odb::view_result_impl< T > base_type
Definition: view-result.hxx:30
virtual std::size_t size()
view_traits::pointer_type pointer_type
base_type::view_type view_type
Definition: view-result.hxx:32
Definition: oracle-types.hxx:131