// file : odb/oracle/view-result.hxx // author : Constantin Michael // copyright : Copyright (c) 2009-2011 Code Synthesis Tools CC // license : ODB NCUEL; see accompanying LICENSE file #ifndef ODB_ORACLE_VIEW_RESULT_HXX #define ODB_ORACLE_VIEW_RESULT_HXX #include #include // std::size_t #include #include #include // query, view_statements #include #include namespace odb { namespace oracle { template class view_result_impl: public odb::view_result_impl { public: typedef odb::view_result_impl base_type; typedef typename base_type::view_type view_type; typedef typename base_type::view_traits view_traits; typedef typename base_type::pointer_type pointer_type; typedef typename base_type::pointer_traits pointer_traits; virtual ~view_result_impl (); view_result_impl (const query&, details::shared_ptr, view_statements&); virtual void load (view_type&); virtual void next (); virtual void cache (); virtual std::size_t size (); using base_type::current; private: typedef oracle::change_callback change_callback_type; static void change_callback (void* context); private: details::shared_ptr statement_; view_statements& statements_; bool use_copy_; typename view_traits::image_type* image_copy_; }; } } #include #include #endif // ODB_ORACLE_VIEW_RESULT_HXX