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

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

#include <patternstore.h>

Inheritance diagram for HashOrderedPatternSet< ReadWriteSizeType >:
PatternStore< t_hashorderedpatternset, ReadWriteSizeType > PatternStoreInterface

Public Types

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

Public Member Functions

 HashOrderedPatternSet ()
 
virtual ~HashOrderedPatternSet ()
 
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, bool DONGRAMS=true, bool DOSKIPGRAMS=true, bool DOFLEXGRAMS=true)
 
- Public Member Functions inherited from PatternStore< t_hashorderedpatternset, ReadWriteSizeType >
 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 Pattern &pattern)=0
 
virtual PatternStoreInterfacegetstoreinterface ()
 

Protected Attributes

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

Detailed Description

template<class ReadWriteSizeType = uint64_t>
class HashOrderedPatternSet< ReadWriteSizeType >

A pattern store in the form of an ordered 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 = uint64_t>
typedef t_hashorderedpatternset::const_iterator HashOrderedPatternSet< ReadWriteSizeType >::const_iterator
template<class ReadWriteSizeType = uint64_t>
typedef t_hashorderedpatternset::iterator HashOrderedPatternSet< ReadWriteSizeType >::iterator

Constructor & Destructor Documentation

template<class ReadWriteSizeType = uint64_t>
HashOrderedPatternSet< ReadWriteSizeType >::HashOrderedPatternSet ( )
inline
template<class ReadWriteSizeType = uint64_t>
virtual HashOrderedPatternSet< ReadWriteSizeType >::~HashOrderedPatternSet ( )
virtual

Member Function Documentation

template<class ReadWriteSizeType = uint64_t>
iterator HashOrderedPatternSet< ReadWriteSizeType >::begin ( )
inlinevirtual
template<class ReadWriteSizeType = uint64_t>
const_iterator HashOrderedPatternSet< ReadWriteSizeType >::begin ( ) const
inline
template<class ReadWriteSizeType = uint64_t>
iterator HashOrderedPatternSet< ReadWriteSizeType >::end ( )
inlinevirtual
template<class ReadWriteSizeType = uint64_t>
const_iterator HashOrderedPatternSet< ReadWriteSizeType >::end ( ) const
inline
template<class ReadWriteSizeType = uint64_t>
bool HashOrderedPatternSet< ReadWriteSizeType >::erase ( const Pattern pattern)
inlinevirtual
template<class ReadWriteSizeType = uint64_t>
iterator HashOrderedPatternSet< ReadWriteSizeType >::erase ( const_iterator  position)
inline
template<class ReadWriteSizeType = uint64_t>
iterator HashOrderedPatternSet< ReadWriteSizeType >::find ( const Pattern pattern)
inlinevirtual
template<class ReadWriteSizeType = uint64_t>
const_iterator HashOrderedPatternSet< ReadWriteSizeType >::find ( const Pattern pattern) const
inline
template<class ReadWriteSizeType = uint64_t>
iterator HashOrderedPatternSet< ReadWriteSizeType >::find ( const PatternPointer pattern)
inlinevirtual
template<class ReadWriteSizeType = uint64_t>
const_iterator HashOrderedPatternSet< ReadWriteSizeType >::find ( const PatternPointer pattern) const
inline
template<class ReadWriteSizeType = uint64_t>
bool HashOrderedPatternSet< ReadWriteSizeType >::has ( const Pattern ) const
inlinevirtual

Does the pattern occur in the pattern store?

Implements PatternStore< t_hashorderedpatternset, ReadWriteSizeType >.

template<class ReadWriteSizeType = uint64_t>
bool HashOrderedPatternSet< ReadWriteSizeType >::has ( const PatternPointer ) const
inlinevirtual

Does the pattern occur in the pattern store?

Implements PatternStore< t_hashorderedpatternset, ReadWriteSizeType >.

template<class ReadWriteSizeType = uint64_t>
void HashOrderedPatternSet< ReadWriteSizeType >::insert ( const Pattern  pattern)
inline
template<class ReadWriteSizeType = uint64_t>
void HashOrderedPatternSet< ReadWriteSizeType >::read ( std::istream *  in,
int  MINLENGTH = 0,
int  MAXLENGTH = 999999,
bool  DONGRAMS = true,
bool  DOSKIPGRAMS = true,
bool  DOFLEXGRAMS = true 
)
inline
template<class ReadWriteSizeType = uint64_t>
void HashOrderedPatternSet< ReadWriteSizeType >::reserve ( size_t  s)
inlinevirtual
template<class ReadWriteSizeType = uint64_t>
size_t HashOrderedPatternSet< ReadWriteSizeType >::size ( ) const
inlinevirtual

How many patterns are in the pattern store?

Implements PatternStore< t_hashorderedpatternset, ReadWriteSizeType >.

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

Member Data Documentation

template<class ReadWriteSizeType = uint64_t>
t_hashorderedpatternset HashOrderedPatternSet< ReadWriteSizeType >::data
protected

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