Colibri Core
Public Types | Public Member Functions | Protected Attributes | List of all members
PatternSet< ReadWriteSizeType > Class Template Reference

A pattern store in the form of an unordered set (i.e, no duplicates). Stores only patterns, no values. More...

#include <patternstore.h>

Inheritance diagram for PatternSet< ReadWriteSizeType >:
PatternStore< t_patternset, ReadWriteSizeType, Pattern > PatternStoreInterface

Public Types

typedef t_patternset::iterator iterator
 
typedef t_patternset::const_iterator const_iterator
 
- Public Types inherited from PatternStore< t_patternset, ReadWriteSizeType, Pattern >
typedef t_patternset::iterator iterator
 
typedef t_patternset::const_iterator const_iterator
 

Public Member Functions

 PatternSet ()
 
 PatternSet (const ClassDecoder &classdecoder)
 
 PatternSet (const ClassEncoder &classencoder)
 
virtual ~PatternSet ()
 
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)
 
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)
 
void write (std::ostream *out)
 
void read (std::istream *in, int MINLENGTH=0, int MAXLENGTH=999999, PatternStoreInterface *constrainstore=NULL, bool DONGRAMS=true, bool DOSKIPGRAMS=true, bool DOFLEXGRAMS=true)
 
template<class ReadValueType , class ReadValueHandler = BaseValueHandler<ReadValueType>>
void readmap (std::istream *in, int MINTOKENS=0, int MINLENGTH=0, int MAXLENGTH=999999, PatternStoreInterface *constrainstore=NULL, bool DONGRAMS=true, bool DOSKIPGRAMS=true, bool DOFLEXGRAMS=true)
 
- Public Member Functions inherited from PatternStore< t_patternset, 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

t_patternset data
 
- Protected Attributes inherited from PatternStore< t_patternset, ReadWriteSizeType, Pattern >
unsigned char * corpusstart
 
unsigned int corpussize
 
unsigned char classencodingversion
 
int patterntype
 

Detailed Description

template<class ReadWriteSizeType = uint32_t>
class PatternSet< ReadWriteSizeType >

A pattern store in the form of an unordered set (i.e, no duplicates). Stores only patterns, no values.

Template Parameters
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 ReadWriteSizeType = uint32_t>
typedef t_patternset::const_iterator PatternSet< ReadWriteSizeType >::const_iterator
template<class ReadWriteSizeType = uint32_t>
typedef t_patternset::iterator PatternSet< ReadWriteSizeType >::iterator

Constructor & Destructor Documentation

template<class ReadWriteSizeType = uint32_t>
PatternSet< ReadWriteSizeType >::PatternSet ( )
inline

Empty set constructor

template<class ReadWriteSizeType = uint32_t>
PatternSet< ReadWriteSizeType >::PatternSet ( const ClassDecoder classdecoder)
inline

Constructs a pattern set from a ClassDecoder

template<class ReadWriteSizeType = uint32_t>
PatternSet< ReadWriteSizeType >::PatternSet ( const ClassEncoder classencoder)
inline

Constructs a pattern set from a ClassEncoder

template<class ReadWriteSizeType = uint32_t>
virtual PatternSet< ReadWriteSizeType >::~PatternSet ( )
inlinevirtual

Member Function Documentation

template<class ReadWriteSizeType = uint32_t>
iterator PatternSet< ReadWriteSizeType >::begin ( )
inlinevirtual

Returns an iterator to iterate over the set

Implements PatternStore< t_patternset, ReadWriteSizeType, Pattern >.

template<class ReadWriteSizeType = uint32_t>
const_iterator PatternSet< ReadWriteSizeType >::begin ( ) const
inline
template<class ReadWriteSizeType = uint32_t>
iterator PatternSet< ReadWriteSizeType >::end ( )
inlinevirtual
template<class ReadWriteSizeType = uint32_t>
const_iterator PatternSet< ReadWriteSizeType >::end ( ) const
inline
template<class ReadWriteSizeType = uint32_t>
bool PatternSet< ReadWriteSizeType >::erase ( const Pattern pattern)
inlinevirtual

Removes the specified pattern from the set, returns true if successful

Implements PatternStore< t_patternset, ReadWriteSizeType, Pattern >.

template<class ReadWriteSizeType = uint32_t>
iterator PatternSet< ReadWriteSizeType >::erase ( const_iterator  position)
inline
template<class ReadWriteSizeType = uint32_t>
iterator PatternSet< ReadWriteSizeType >::find ( const Pattern pattern)
inlinevirtual

Returns an iterator to the pattern in the set or end() if no such pattern was found.

Implements PatternStore< t_patternset, ReadWriteSizeType, Pattern >.

template<class ReadWriteSizeType = uint32_t>
const_iterator PatternSet< ReadWriteSizeType >::find ( const Pattern pattern) const
inline
template<class ReadWriteSizeType = uint32_t>
iterator PatternSet< ReadWriteSizeType >::find ( const PatternPointer pattern)
inlinevirtual
template<class ReadWriteSizeType = uint32_t>
const_iterator PatternSet< ReadWriteSizeType >::find ( const PatternPointer pattern) const
inline
template<class ReadWriteSizeType = uint32_t>
bool PatternSet< ReadWriteSizeType >::has ( const Pattern pattern) const
inlinevirtual

Checks if a pattern is in the set

Implements PatternStore< t_patternset, ReadWriteSizeType, Pattern >.

template<class ReadWriteSizeType = uint32_t>
bool PatternSet< ReadWriteSizeType >::has ( const PatternPointer pattern) const
inlinevirtual

Checks if a pattern is in the set

Implements PatternStore< t_patternset, ReadWriteSizeType, Pattern >.

template<class ReadWriteSizeType = uint32_t>
void PatternSet< ReadWriteSizeType >::insert ( const Pattern pattern)
inlinevirtual

Add a new pattern to the set

Implements PatternStore< t_patternset, ReadWriteSizeType, Pattern >.

template<class ReadWriteSizeType = uint32_t>
void PatternSet< ReadWriteSizeType >::read ( std::istream *  in,
int  MINLENGTH = 0,
int  MAXLENGTH = 999999,
PatternStoreInterface constrainstore = NULL,
bool  DONGRAMS = true,
bool  DOSKIPGRAMS = true,
bool  DOFLEXGRAMS = true 
)
inline

Read the set from input stream, in binary format

template<class ReadWriteSizeType = uint32_t>
template<class ReadValueType , class ReadValueHandler = BaseValueHandler<ReadValueType>>
void PatternSet< ReadWriteSizeType >::readmap ( std::istream *  in,
int  MINTOKENS = 0,
int  MINLENGTH = 0,
int  MAXLENGTH = 999999,
PatternStoreInterface constrainstore = NULL,
bool  DONGRAMS = true,
bool  DOSKIPGRAMS = true,
bool  DOFLEXGRAMS = true 
)
inline

Reads a map from input stream, in binary format, but ignores the values and retains only the keys for the set.

template<class ReadWriteSizeType = uint32_t>
void PatternSet< ReadWriteSizeType >::reserve ( size_t  s)
inlinevirtual
template<class ReadWriteSizeType = uint32_t>
size_t PatternSet< ReadWriteSizeType >::size ( ) const
inlinevirtual

Returns the number of patterns in the set

Implements PatternStore< t_patternset, ReadWriteSizeType, Pattern >.

template<class ReadWriteSizeType = uint32_t>
void PatternSet< ReadWriteSizeType >::write ( std::ostream *  out)
inlinevirtual

Write the set to output stream, in binary format

Implements PatternStore< t_patternset, ReadWriteSizeType, Pattern >.

Member Data Documentation

template<class ReadWriteSizeType = uint32_t>
t_patternset PatternSet< ReadWriteSizeType >::data
protected

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