threaddb  2.0b
A file mapped memory container extension
Classes | Namespaces | Typedefs
threaddbSTLWrapper.h File Reference

Implementation of the threadDB integration for std:: container utilization. More...

#include "threaddbCPP.h"
#include <atomic>
#include <mutex>
#include <vector>
#include <deque>
#include <memory>
#include <stdio.h>
#include <string.h>

Go to the source code of this file.

Classes

struct  tdb::size_< T >
 Trait class for size of fixed length data items. More...
 
struct  tdb::size_< std::string >
 Trait class for size of variable length data items (std::string). More...
 
class  tdb::tostream< T >
 Converter of fixed size data elements into a byte stream representation. More...
 
class  tdb::fromstream< T >
 Converter of byte stream into fixed data item representation. More...
 
class  tdb::tostream< std::string >
 Converter of variable length data items into byte stream representation. More...
 
class  tdb::fromstream< std::string >
 Converter of byte stream into variable length data item representation. More...
 
class  tdb::ritem< T >
 Wrapper class for storing data items in a random fashion. More...
 
class  tdb::sitem< T >
 Wrapper class for storing data items in a sequential fashion. More...
 
class  tdb::pool< T >
 Pool datastructure for keeping track and recycling open ItemHandles. More...
 
class  tdb::ritem< T >
 Wrapper class for storing data items in a random fashion. More...
 
class  tdb::sitem< T >
 Wrapper class for storing data items in a sequential fashion. More...
 
class  tdb::key< T >
 Wrapper class for storing key data items. More...
 

Namespaces

 tdb
 

Typedefs

typedef std::pair< ItemInfo, std::atomic< uint8_t > > tdb::ItemHandle
 

Detailed Description

Implementation of the threadDB integration for std:: container utilization.

This module provides the necessary classes to directly utilize the std:: containers. To handle different scenarios of fixed and dynamic data objects efficiently, specialized implementations are available. The additional pool class is responsible for keeping track of the open (registered) link handles not yet processed. Since these handles are updated delayed it is important that they are not deleted prior unregistering.