Common ODB Runtime Library
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Classes | Public Types | Public Member Functions | Static Public Member Functions | Protected Attributes | List of all members
odb::session Class Reference

Classes

struct  cache_position
 
struct  object_map
 
struct  object_map_base
 

Public Types

typedef odb::database database_type
 
typedef std::map< const
std::type_info
*, details::shared_ptr
< object_map_base >
, details::type_info_comparator > 
type_map
 
typedef std::map
< database_type *, type_map
database_map
 

Public Member Functions

 session (bool make_current=true)
 
 ~session ()
 
template<typename T >
cache_position< T > cache_insert (database_type &, const typename object_traits< T >::id_type &, const typename object_traits< T >::pointer_type &)
 
template<typename T >
object_traits< T >::pointer_type cache_find (database_type &, const typename object_traits< T >::id_type &) const
 
template<typename T >
void cache_erase (const cache_position< T > &)
 
template<typename T >
void cache_erase (database_type &, const typename object_traits< T >::id_type &)
 
database_mapmap ()
 
const database_mapmap () const
 

Static Public Member Functions

static bool has_current ()
 
static sessioncurrent ()
 
static void current (session &s)
 
static void reset_current ()
 
static sessioncurrent_pointer ()
 
static void current_pointer (session *)
 
template<typename T >
static cache_position< T > _cache_insert (database_type &, const typename object_traits< T >::id_type &, const typename object_traits< T >::pointer_type &)
 
template<typename T >
static object_traits< T >
::pointer_type 
_cache_find (database_type &, const typename object_traits< T >::id_type &)
 
template<typename T >
static void _cache_erase (const cache_position< T > &)
 
template<typename T >
static void _cache_persist (const cache_position< T > &)
 
template<typename T >
static void _cache_load (const cache_position< T > &)
 
template<typename T >
static void _cache_update (database_type &, const T &)
 
template<typename T >
static void _cache_erase (database_type &, const typename object_traits< T >::id_type &)
 

Protected Attributes

database_map db_map_
 

Member Typedef Documentation

typedef std::map<const std::type_info*, details::shared_ptr<object_map_base>, details::type_info_comparator> odb::session::type_map

Constructor & Destructor Documentation

odb::session::session ( bool  make_current = true)
odb::session::~session ( )

Member Function Documentation

static bool odb::session::has_current ( )
inlinestatic
static session& odb::session::current ( )
static
static void odb::session::current ( session s)
inlinestatic
static void odb::session::reset_current ( )
inlinestatic
static session* odb::session::current_pointer ( )
static
static void odb::session::current_pointer ( session )
static
template<typename T >
cache_position<T> odb::session::cache_insert ( database_type ,
const typename object_traits< T >::id_type &  ,
const typename object_traits< T >::pointer_type &   
)
template<typename T >
object_traits<T>::pointer_type odb::session::cache_find ( database_type ,
const typename object_traits< T >::id_type &   
) const
template<typename T >
void odb::session::cache_erase ( const cache_position< T > &  )
template<typename T >
void odb::session::cache_erase ( database_type ,
const typename object_traits< T >::id_type &   
)
database_map& odb::session::map ( )
inline
const database_map& odb::session::map ( ) const
inline
template<typename T >
static cache_position<T> odb::session::_cache_insert ( database_type ,
const typename object_traits< T >::id_type &  ,
const typename object_traits< T >::pointer_type &   
)
static
template<typename T >
static object_traits<T>::pointer_type odb::session::_cache_find ( database_type ,
const typename object_traits< T >::id_type &   
)
static
template<typename T >
static void odb::session::_cache_erase ( const cache_position< T > &  )
static
template<typename T >
static void odb::session::_cache_persist ( const cache_position< T > &  )
inlinestatic
template<typename T >
static void odb::session::_cache_load ( const cache_position< T > &  )
inlinestatic
template<typename T >
static void odb::session::_cache_update ( database_type ,
const T &   
)
inlinestatic
template<typename T >
static void odb::session::_cache_erase ( database_type ,
const typename object_traits< T >::id_type &   
)
static

Member Data Documentation

database_map odb::session::db_map_
protected

The documentation for this class was generated from the following file: