Colibri Core
Public Types | Public Member Functions | Protected Attributes | List of all members
PatternMap< ValueType, ValueHandler, ReadWriteSizeType > Class Template Reference

A pattern map storing patterns and their values in a hash map (unordered_map). More...

#include <patternstore.h>

Inheritance diagram for PatternMap< ValueType, ValueHandler, ReadWriteSizeType >:
PatternMapStore< std::unordered_map< Pattern, ValueType >, ValueType, ValueHandler, ReadWriteSizeType, Pattern > PatternStore< std::unordered_map< Pattern, ValueType >, ReadWriteSizeType, Pattern > PatternStoreInterface

Public Types

typedef std::unordered_map< Pattern, ValueType >::iterator iterator
 
typedef std::unordered_map< Pattern, ValueType >::const_iterator const_iterator
 
- Public Types inherited from PatternMapStore< std::unordered_map< Pattern, ValueType >, ValueType, ValueHandler, ReadWriteSizeType, Pattern >
typedef std::unordered_map< Pattern, ValueType >::iterator iterator
 
typedef std::unordered_map< Pattern, ValueType >::const_iterator const_iterator
 
- Public Types inherited from PatternStore< std::unordered_map< Pattern, ValueType >, ReadWriteSizeType, Pattern >
typedef std::unordered_map< Pattern, ValueType >::iterator iterator
 
typedef std::unordered_map< Pattern, ValueType >::const_iterator const_iterator
 

Public Member Functions

 PatternMap ()
 
void insert (const Pattern &pattern, ValueType &value)
 
void insert (const Pattern &pattern)
 
bool has (const Pattern &pattern) const
 
bool has (const PatternPointer &pattern) const
 
size_t size () const
 
void reserve (size_t s)
 
ValueType & operator[] (const Pattern &pattern)
 
ValueType & operator[] (const PatternPointer &pattern)
 
iterator begin ()
 
const_iterator begin () const
 
iterator end ()
 
const_iterator end () const
 
iterator find (const Pattern &pattern)
 
const_iterator find (const Pattern &pattern) const
 
iterator find (const PatternPointer &pattern)
 
const_iterator find (const PatternPointer &pattern) const
 
bool erase (const Pattern &pattern)
 
iterator erase (const_iterator position)
 
- Public Member Functions inherited from PatternMapStore< std::unordered_map< Pattern, ValueType >, ValueType, ValueHandler, ReadWriteSizeType, Pattern >
 PatternMapStore ()
 
virtual ~PatternMapStore ()
 
virtual void write (std::ostream *out)
 
virtual void write (std::string filename)
 
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< std::unordered_map< Pattern, ValueType >, ReadWriteSizeType, Pattern >
 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 PatternStoreInterfacegetstoreinterface ()
 

Protected Attributes

std::unordered_map< Pattern, ValueType > data
 
- Protected Attributes inherited from PatternMapStore< std::unordered_map< Pattern, ValueType >, ValueType, ValueHandler, ReadWriteSizeType, Pattern >
ValueHandler valuehandler
 
- Protected Attributes inherited from PatternStore< std::unordered_map< Pattern, ValueType >, ReadWriteSizeType, Pattern >
unsigned char * corpusstart
 
unsigned int corpussize
 
unsigned char classencodingversion
 
int patterntype
 

Detailed Description

template<class ValueType, class ValueHandler = BaseValueHandler<ValueType>, class ReadWriteSizeType = uint64_t>
class PatternMap< ValueType, ValueHandler, ReadWriteSizeType >

A pattern map storing patterns and their values in a hash map (unordered_map).

Template Parameters
ValueTypeThe type of Value this container stores
ValueHandlerA handler class for this type of value
ReadWriteSizeTypeThe data type for addressing, determines the maximum amount of patterns that can be held, only used in serialisation/deserialisation

Member Typedef Documentation

template<class ValueType, class ValueHandler = BaseValueHandler<ValueType>, class ReadWriteSizeType = uint64_t>
typedef std::unordered_map<Pattern,ValueType>::const_iterator PatternMap< ValueType, ValueHandler, ReadWriteSizeType >::const_iterator
template<class ValueType, class ValueHandler = BaseValueHandler<ValueType>, class ReadWriteSizeType = uint64_t>
typedef std::unordered_map<Pattern,ValueType>::iterator PatternMap< ValueType, ValueHandler, ReadWriteSizeType >::iterator

Constructor & Destructor Documentation

template<class ValueType, class ValueHandler = BaseValueHandler<ValueType>, class ReadWriteSizeType = uint64_t>
PatternMap< ValueType, ValueHandler, ReadWriteSizeType >::PatternMap ( )
inline

Member Function Documentation

template<class ValueType, class ValueHandler = BaseValueHandler<ValueType>, class ReadWriteSizeType = uint64_t>
iterator PatternMap< ValueType, ValueHandler, ReadWriteSizeType >::begin ( )
inlinevirtual
template<class ValueType, class ValueHandler = BaseValueHandler<ValueType>, class ReadWriteSizeType = uint64_t>
const_iterator PatternMap< ValueType, ValueHandler, ReadWriteSizeType >::begin ( ) const
inline
template<class ValueType, class ValueHandler = BaseValueHandler<ValueType>, class ReadWriteSizeType = uint64_t>
iterator PatternMap< ValueType, ValueHandler, ReadWriteSizeType >::end ( )
inlinevirtual
template<class ValueType, class ValueHandler = BaseValueHandler<ValueType>, class ReadWriteSizeType = uint64_t>
const_iterator PatternMap< ValueType, ValueHandler, ReadWriteSizeType >::end ( ) const
inline
template<class ValueType, class ValueHandler = BaseValueHandler<ValueType>, class ReadWriteSizeType = uint64_t>
bool PatternMap< ValueType, ValueHandler, ReadWriteSizeType >::erase ( const Pattern pattern)
inlinevirtual
template<class ValueType, class ValueHandler = BaseValueHandler<ValueType>, class ReadWriteSizeType = uint64_t>
iterator PatternMap< ValueType, ValueHandler, ReadWriteSizeType >::erase ( const_iterator  position)
inline
template<class ValueType, class ValueHandler = BaseValueHandler<ValueType>, class ReadWriteSizeType = uint64_t>
iterator PatternMap< ValueType, ValueHandler, ReadWriteSizeType >::find ( const Pattern pattern)
inlinevirtual
template<class ValueType, class ValueHandler = BaseValueHandler<ValueType>, class ReadWriteSizeType = uint64_t>
const_iterator PatternMap< ValueType, ValueHandler, ReadWriteSizeType >::find ( const Pattern pattern) const
inline
template<class ValueType, class ValueHandler = BaseValueHandler<ValueType>, class ReadWriteSizeType = uint64_t>
iterator PatternMap< ValueType, ValueHandler, ReadWriteSizeType >::find ( const PatternPointer pattern)
inlinevirtual
template<class ValueType, class ValueHandler = BaseValueHandler<ValueType>, class ReadWriteSizeType = uint64_t>
const_iterator PatternMap< ValueType, ValueHandler, ReadWriteSizeType >::find ( const PatternPointer pattern) const
inline
template<class ValueType, class ValueHandler = BaseValueHandler<ValueType>, class ReadWriteSizeType = uint64_t>
bool PatternMap< ValueType, ValueHandler, ReadWriteSizeType >::has ( const Pattern ) const
inlinevirtual
template<class ValueType, class ValueHandler = BaseValueHandler<ValueType>, class ReadWriteSizeType = uint64_t>
bool PatternMap< ValueType, ValueHandler, ReadWriteSizeType >::has ( const PatternPointer ) const
inlinevirtual
template<class ValueType, class ValueHandler = BaseValueHandler<ValueType>, class ReadWriteSizeType = uint64_t>
void PatternMap< ValueType, ValueHandler, ReadWriteSizeType >::insert ( const Pattern pattern,
ValueType &  value 
)
inlinevirtual
template<class ValueType, class ValueHandler = BaseValueHandler<ValueType>, class ReadWriteSizeType = uint64_t>
void PatternMap< ValueType, ValueHandler, ReadWriteSizeType >::insert ( const Pattern pattern)
inlinevirtual
template<class ValueType, class ValueHandler = BaseValueHandler<ValueType>, class ReadWriteSizeType = uint64_t>
ValueType& PatternMap< ValueType, ValueHandler, ReadWriteSizeType >::operator[] ( const Pattern pattern)
inlinevirtual
template<class ValueType, class ValueHandler = BaseValueHandler<ValueType>, class ReadWriteSizeType = uint64_t>
ValueType& PatternMap< ValueType, ValueHandler, ReadWriteSizeType >::operator[] ( const PatternPointer pattern)
inlinevirtual
template<class ValueType, class ValueHandler = BaseValueHandler<ValueType>, class ReadWriteSizeType = uint64_t>
void PatternMap< ValueType, ValueHandler, ReadWriteSizeType >::reserve ( size_t  s)
inlinevirtual
template<class ValueType, class ValueHandler = BaseValueHandler<ValueType>, class ReadWriteSizeType = uint64_t>
size_t PatternMap< ValueType, ValueHandler, ReadWriteSizeType >::size ( ) const
inlinevirtual

Member Data Documentation

template<class ValueType, class ValueHandler = BaseValueHandler<ValueType>, class ReadWriteSizeType = uint64_t>
std::unordered_map<Pattern, ValueType> PatternMap< ValueType, ValueHandler, ReadWriteSizeType >::data
protected

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