Colibri Core
Public Types | Public Member Functions | Protected Attributes | List of all members
PatternMapStore< ContainerType, ValueType, ValueHandler, ReadWriteSizeType, PatternType > Class Template Referenceabstract

Abstract class for map-like pattern stores, do not instantiate directly. More...

#include <patternstore.h>

Inheritance diagram for PatternMapStore< ContainerType, ValueType, ValueHandler, ReadWriteSizeType, PatternType >:
PatternStore< ContainerType, ReadWriteSizeType, PatternType > PatternStoreInterface

Public Types

typedef ContainerType::iterator iterator
 
typedef ContainerType::const_iterator const_iterator
 
- Public Types inherited from PatternStore< ContainerType, ReadWriteSizeType, PatternType >
typedef ContainerType::iterator iterator
 
typedef ContainerType::const_iterator const_iterator
 

Public Member Functions

 PatternMapStore ()
 
virtual ~PatternMapStore ()
 
virtual void insert (const PatternType &pattern, ValueType &value)=0
 
virtual bool has (const Pattern &) const =0
 
virtual bool has (const PatternPointer &) const =0
 
virtual bool erase (const PatternType &)=0
 
virtual size_t size () const =0
 
virtual void reserve (size_t)=0
 
virtual ValueType & operator[] (const Pattern &pattern)=0
 
virtual ValueType & operator[] (const PatternPointer &pattern)=0
 
virtual ContainerType::iterator begin ()=0
 
virtual ContainerType::iterator end ()=0
 
virtual ContainerType::iterator find (const Pattern &pattern)=0
 
virtual ContainerType::iterator find (const PatternPointer &pattern)=0
 
virtual void write (std::ostream *out)
 
virtual void write (std::string filename)
 
template<class ReadValueType = ValueType, class ReadValueHandler = ValueHandler, class ReadPatternType = PatternType>
void read (std::istream *in, int MINTOKENS=0, int MINLENGTH=0, int MAXLENGTH=999999, PatternStoreInterface *constrainstore=NULL, bool DONGRAMS=true, bool DOSKIPGRAMS=true, bool DOFLEXGRAMS=true, bool DORESET=false, bool DEBUG=false)
 
void read (std::string filename, int MINTOKENS=0, int MINLENGTH=0, int MAXLENGTH=999999, PatternStoreInterface *constrainstore=NULL, bool DONGRAMS=true, bool DOSKIPGRAMS=true, bool DOFLEXGRAMS=true, bool DORESET=false, bool DEBUG=false)
 
- Public Member Functions inherited from PatternStore< ContainerType, ReadWriteSizeType, PatternType >
 PatternStore ()
 
virtual ~PatternStore ()
 
virtual void attachcorpus (unsigned char *corpusstart, unsigned int corpussize)
 
virtual void attachcorpus (const IndexedCorpus &corpus)
 
virtual void detachcorpus ()
 
unsigned char * getcorpus () const
 
unsigned int getcorpussize () const
 
virtual void use_v1_format ()
 
virtual void insert (const PatternType &pattern)=0
 
virtual PatternStoreInterfacegetstoreinterface ()
 

Protected Attributes

ValueHandler valuehandler
 
- Protected Attributes inherited from PatternStore< ContainerType, ReadWriteSizeType, PatternType >
unsigned char * corpusstart
 
unsigned int corpussize
 
unsigned char classencodingversion
 
int patterntype
 

Detailed Description

template<class ContainerType, class ValueType, class ValueHandler, class ReadWriteSizeType = uint32_t, class PatternType = Pattern>
class PatternMapStore< ContainerType, ValueType, ValueHandler, ReadWriteSizeType, PatternType >

Abstract class for map-like pattern stores, do not instantiate directly.

Template Parameters
ContainerTypeThe low-level container type used (an STL container such as set/map).
ValueTypeThe type of Value this container stores
ValueHandlerA handler class for this type of value
ReadWriteSizeTypeData type for addressing, influences only the maximum number of items that can be stored (2**64) in the container, as this will be represented in the very beginning of the binary file. No reason to change this unless the container is very deeply nested in others and contains only few items.

Member Typedef Documentation

template<class ContainerType, class ValueType, class ValueHandler, class ReadWriteSizeType = uint32_t, class PatternType = Pattern>
typedef ContainerType::const_iterator PatternMapStore< ContainerType, ValueType, ValueHandler, ReadWriteSizeType, PatternType >::const_iterator
template<class ContainerType, class ValueType, class ValueHandler, class ReadWriteSizeType = uint32_t, class PatternType = Pattern>
typedef ContainerType::iterator PatternMapStore< ContainerType, ValueType, ValueHandler, ReadWriteSizeType, PatternType >::iterator

Constructor & Destructor Documentation

template<class ContainerType, class ValueType, class ValueHandler, class ReadWriteSizeType = uint32_t, class PatternType = Pattern>
PatternMapStore< ContainerType, ValueType, ValueHandler, ReadWriteSizeType, PatternType >::PatternMapStore ( )
inline
template<class ContainerType, class ValueType, class ValueHandler, class ReadWriteSizeType = uint32_t, class PatternType = Pattern>
virtual PatternMapStore< ContainerType, ValueType, ValueHandler, ReadWriteSizeType, PatternType >::~PatternMapStore ( )
inlinevirtual

Member Function Documentation

template<class ContainerType, class ValueType, class ValueHandler, class ReadWriteSizeType = uint32_t, class PatternType = Pattern>
virtual ContainerType::iterator PatternMapStore< ContainerType, ValueType, ValueHandler, ReadWriteSizeType, PatternType >::begin ( )
pure virtual
template<class ContainerType, class ValueType, class ValueHandler, class ReadWriteSizeType = uint32_t, class PatternType = Pattern>
virtual ContainerType::iterator PatternMapStore< ContainerType, ValueType, ValueHandler, ReadWriteSizeType, PatternType >::end ( )
pure virtual
template<class ContainerType, class ValueType, class ValueHandler, class ReadWriteSizeType = uint32_t, class PatternType = Pattern>
virtual bool PatternMapStore< ContainerType, ValueType, ValueHandler, ReadWriteSizeType, PatternType >::erase ( const PatternType )
pure virtual
template<class ContainerType, class ValueType, class ValueHandler, class ReadWriteSizeType = uint32_t, class PatternType = Pattern>
virtual ContainerType::iterator PatternMapStore< ContainerType, ValueType, ValueHandler, ReadWriteSizeType, PatternType >::find ( const Pattern pattern)
pure virtual
template<class ContainerType, class ValueType, class ValueHandler, class ReadWriteSizeType = uint32_t, class PatternType = Pattern>
virtual ContainerType::iterator PatternMapStore< ContainerType, ValueType, ValueHandler, ReadWriteSizeType, PatternType >::find ( const PatternPointer pattern)
pure virtual
template<class ContainerType, class ValueType, class ValueHandler, class ReadWriteSizeType = uint32_t, class PatternType = Pattern>
virtual bool PatternMapStore< ContainerType, ValueType, ValueHandler, ReadWriteSizeType, PatternType >::has ( const Pattern ) const
pure virtual
template<class ContainerType, class ValueType, class ValueHandler, class ReadWriteSizeType = uint32_t, class PatternType = Pattern>
virtual bool PatternMapStore< ContainerType, ValueType, ValueHandler, ReadWriteSizeType, PatternType >::has ( const PatternPointer ) const
pure virtual
template<class ContainerType, class ValueType, class ValueHandler, class ReadWriteSizeType = uint32_t, class PatternType = Pattern>
virtual void PatternMapStore< ContainerType, ValueType, ValueHandler, ReadWriteSizeType, PatternType >::insert ( const PatternType pattern,
ValueType &  value 
)
pure virtual
template<class ContainerType, class ValueType, class ValueHandler, class ReadWriteSizeType = uint32_t, class PatternType = Pattern>
virtual ValueType& PatternMapStore< ContainerType, ValueType, ValueHandler, ReadWriteSizeType, PatternType >::operator[] ( const Pattern pattern)
pure virtual
template<class ContainerType, class ValueType, class ValueHandler, class ReadWriteSizeType = uint32_t, class PatternType = Pattern>
virtual ValueType& PatternMapStore< ContainerType, ValueType, ValueHandler, ReadWriteSizeType, PatternType >::operator[] ( const PatternPointer pattern)
pure virtual
template<class ContainerType, class ValueType, class ValueHandler, class ReadWriteSizeType = uint32_t, class PatternType = Pattern>
template<class ReadValueType = ValueType, class ReadValueHandler = ValueHandler, class ReadPatternType = PatternType>
void PatternMapStore< ContainerType, ValueType, ValueHandler, ReadWriteSizeType, PatternType >::read ( std::istream *  in,
int  MINTOKENS = 0,
int  MINLENGTH = 0,
int  MAXLENGTH = 999999,
PatternStoreInterface constrainstore = NULL,
bool  DONGRAMS = true,
bool  DOSKIPGRAMS = true,
bool  DOFLEXGRAMS = true,
bool  DORESET = false,
bool  DEBUG = false 
)
inline

Read a map from input stream (in binary format)

template<class ContainerType, class ValueType, class ValueHandler, class ReadWriteSizeType = uint32_t, class PatternType = Pattern>
void PatternMapStore< ContainerType, ValueType, ValueHandler, ReadWriteSizeType, PatternType >::read ( std::string  filename,
int  MINTOKENS = 0,
int  MINLENGTH = 0,
int  MAXLENGTH = 999999,
PatternStoreInterface constrainstore = NULL,
bool  DONGRAMS = true,
bool  DOSKIPGRAMS = true,
bool  DOFLEXGRAMS = true,
bool  DORESET = false,
bool  DEBUG = false 
)
inline

Read a map from file (in binary format)

template<class ContainerType, class ValueType, class ValueHandler, class ReadWriteSizeType = uint32_t, class PatternType = Pattern>
virtual void PatternMapStore< ContainerType, ValueType, ValueHandler, ReadWriteSizeType, PatternType >::reserve ( size_t  )
pure virtual
template<class ContainerType, class ValueType, class ValueHandler, class ReadWriteSizeType = uint32_t, class PatternType = Pattern>
virtual size_t PatternMapStore< ContainerType, ValueType, ValueHandler, ReadWriteSizeType, PatternType >::size ( ) const
pure virtual
template<class ContainerType, class ValueType, class ValueHandler, class ReadWriteSizeType = uint32_t, class PatternType = Pattern>
virtual void PatternMapStore< ContainerType, ValueType, ValueHandler, ReadWriteSizeType, PatternType >::write ( std::ostream *  out)
inlinevirtual

Write the map to stream output (in binary format)

Implements PatternStore< ContainerType, ReadWriteSizeType, PatternType >.

Reimplemented in PatternAlignmentModel< FeatureType >.

template<class ContainerType, class ValueType, class ValueHandler, class ReadWriteSizeType = uint32_t, class PatternType = Pattern>
virtual void PatternMapStore< ContainerType, ValueType, ValueHandler, ReadWriteSizeType, PatternType >::write ( std::string  filename)
inlinevirtual

Write the map to file (in binary format)

Reimplemented in PatternAlignmentModel< FeatureType >.

Member Data Documentation

template<class ContainerType, class ValueType, class ValueHandler, class ReadWriteSizeType = uint32_t, class PatternType = Pattern>
ValueHandler PatternMapStore< ContainerType, ValueType, ValueHandler, ReadWriteSizeType, PatternType >::valuehandler
protected

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