libmoost
moost::kvds::KvdsMem< T > Class Template Reference

*** This class is NOT thread safe *** More...

#include <kvds_mem.hpp>

List of all members.

Public Types

typedef T store_type
typedef T::key_type key_type
typedef T::mapped_type val_type

Public Member Functions

 KvdsMem ()
 ~KvdsMem ()
void open (char const dsname[], bool newdb=false)
void save ()
void close ()
store_typeget_store ()
bool put (void const *pkey, size_t const ksize, void const *pval, size_t const vsize)
 IKvds interface implementation.
bool get (void const *pkey, size_t const ksize, void *pval, size_t &vsize)
bool add (void const *pkey, size_t const ksize, void const *pval, size_t const vsize)
bool all (void const *pkey, size_t const ksize, void *pval, size_t &vsize)
bool xst (void const *pkey, size_t const ksize)
bool del (void const *pkey, size_t const ksize)
bool clr ()
bool beg ()
bool nxt (void *pkey, size_t &ksize)
bool end ()
bool siz (void const *pkey, size_t const ksize, size_t &vsize)
bool cnt (boost::uint64_t &cnt)
bool nil (bool &isnil)

Private Member Functions

 BOOST_STATIC_ASSERT ((boost::is_same< key_type, byte_array_t >::value))
 If the key/val types are not byte_array_t types fail compilation.
 BOOST_STATIC_ASSERT ((boost::is_same< val_type, byte_array_t >::value))

Private Attributes

std::string dsname_
store_type store_
store_type::const_iterator itr_

Detailed Description

template<typename T>
class moost::kvds::KvdsMem< T >

*** This class is NOT thread safe ***

Definition at line 64 of file kvds_mem.hpp.


Member Typedef Documentation

template<typename T >
typedef T::key_type moost::kvds::KvdsMem< T >::key_type

Definition at line 68 of file kvds_mem.hpp.

template<typename T >
typedef T moost::kvds::KvdsMem< T >::store_type

Definition at line 67 of file kvds_mem.hpp.

template<typename T >
typedef T::mapped_type moost::kvds::KvdsMem< T >::val_type

Definition at line 69 of file kvds_mem.hpp.


Constructor & Destructor Documentation

template<typename T >
moost::kvds::KvdsMem< T >::KvdsMem ( ) [inline]

Definition at line 71 of file kvds_mem.hpp.

template<typename T >
moost::kvds::KvdsMem< T >::~KvdsMem ( ) [inline]

Definition at line 72 of file kvds_mem.hpp.

Here is the call graph for this function:


Member Function Documentation

template<typename T >
bool moost::kvds::KvdsMem< T >::add ( void const *  pkey,
size_t const  ksize,
void const *  pval,
size_t const  vsize 
) [inline]

Definition at line 218 of file kvds_mem.hpp.

template<typename T >
bool moost::kvds::KvdsMem< T >::all ( void const *  pkey,
size_t const  ksize,
void *  pval,
size_t &  vsize 
) [inline]

Definition at line 235 of file kvds_mem.hpp.

Here is the call graph for this function:

template<typename T >
bool moost::kvds::KvdsMem< T >::beg ( ) [inline]

Definition at line 295 of file kvds_mem.hpp.

template<typename T >
moost::kvds::KvdsMem< T >::BOOST_STATIC_ASSERT ( (boost::is_same< key_type, byte_array_t >::value)  ) [private]

If the key/val types are not byte_array_t types fail compilation.

template<typename T >
moost::kvds::KvdsMem< T >::BOOST_STATIC_ASSERT ( (boost::is_same< val_type, byte_array_t >::value)  ) [private]
template<typename T >
void moost::kvds::KvdsMem< T >::close ( ) [inline]

Definition at line 160 of file kvds_mem.hpp.

Here is the call graph for this function:

Here is the caller graph for this function:

template<typename T >
bool moost::kvds::KvdsMem< T >::clr ( ) [inline]

Definition at line 289 of file kvds_mem.hpp.

template<typename T >
bool moost::kvds::KvdsMem< T >::cnt ( boost::uint64_t &  cnt) [inline]

Definition at line 354 of file kvds_mem.hpp.

template<typename T >
bool moost::kvds::KvdsMem< T >::del ( void const *  pkey,
size_t const  ksize 
) [inline]

Definition at line 269 of file kvds_mem.hpp.

template<typename T >
bool moost::kvds::KvdsMem< T >::end ( ) [inline]

Definition at line 328 of file kvds_mem.hpp.

template<typename T >
bool moost::kvds::KvdsMem< T >::get ( void const *  pkey,
size_t const  ksize,
void *  pval,
size_t &  vsize 
) [inline]

Definition at line 196 of file kvds_mem.hpp.

template<typename T >
store_type& moost::kvds::KvdsMem< T >::get_store ( ) [inline]

You can call this to get a refernce to the underlying store. Useful if you need to do post construction configuration. For example if using a google hash or spare map you need to specify the delete/erase keys

Definition at line 177 of file kvds_mem.hpp.

template<typename T >
bool moost::kvds::KvdsMem< T >::nil ( bool &  isnil) [inline]

Definition at line 360 of file kvds_mem.hpp.

template<typename T >
bool moost::kvds::KvdsMem< T >::nxt ( void *  pkey,
size_t &  ksize 
) [inline]

Definition at line 301 of file kvds_mem.hpp.

template<typename T >
void moost::kvds::KvdsMem< T >::open ( char const  dsname[],
bool  newdb = false 
) [inline]

Definition at line 80 of file kvds_mem.hpp.

template<typename T >
bool moost::kvds::KvdsMem< T >::put ( void const *  pkey,
size_t const  ksize,
void const *  pval,
size_t const  vsize 
) [inline]

IKvds interface implementation.

Definition at line 180 of file kvds_mem.hpp.

template<typename T >
void moost::kvds::KvdsMem< T >::save ( ) [inline]

Definition at line 138 of file kvds_mem.hpp.

Here is the caller graph for this function:

template<typename T >
bool moost::kvds::KvdsMem< T >::siz ( void const *  pkey,
size_t const  ksize,
size_t &  vsize 
) [inline]

Definition at line 333 of file kvds_mem.hpp.

Here is the caller graph for this function:

template<typename T >
bool moost::kvds::KvdsMem< T >::xst ( void const *  pkey,
size_t const  ksize 
) [inline]

Definition at line 260 of file kvds_mem.hpp.


Member Data Documentation

template<typename T >
std::string moost::kvds::KvdsMem< T >::dsname_ [private]

Definition at line 166 of file kvds_mem.hpp.

template<typename T >
store_type::const_iterator moost::kvds::KvdsMem< T >::itr_ [private]

Definition at line 368 of file kvds_mem.hpp.

template<typename T >
store_type moost::kvds::KvdsMem< T >::store_ [private]

Definition at line 367 of file kvds_mem.hpp.


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