Classes | Public Types | Public Member Functions | Friends

fst::VectorHashStateTable< T, S, FP, H > Class Template Reference

#include <fst/state-table.h>

Collaboration diagram for fst::VectorHashStateTable< T, S, FP, H >:
Collaboration graph
[legend]

List of all members.

Classes

class  HashEqual
class  HashFunc

Public Types

typedef T StateTuple
typedef StateTuple::StateId StateId
typedef StateId Key

Public Member Functions

 VectorHashStateTable (S *s, FP *fp, H *h, size_t vector_size=0, size_t tuple_size=0)
 ~VectorHashStateTable ()
StateId FindState (const StateTuple &tuple)
const StateTupleTuple (StateId s) const
StateId Size () const
const S & Selector () const
const FP & Fingerprint () const
const H & Hash () const

Friends

class HashFunc
class HashEqual

Detailed Description

template<class T, class S, class FP, class H>
class fst::VectorHashStateTable< T, S, FP, H >

An implementation using a vector and a compact hash table. The selecting functor S returns true for tuples to be hashed in the vector. The fingerprinting functor FP returns a unique fingerprint for each tuple to be hashed in the vector (these need to be suitable for indexing in a vector). The hash functor H is used when hashing tuple into the compact hash table.

Definition at line 307 of file state-table.h.


Member Typedef Documentation

template<class T , class S , class FP , class H >
typedef StateId fst::VectorHashStateTable< T, S, FP, H >::Key

Definition at line 313 of file state-table.h.

template<class T , class S , class FP , class H >
typedef StateTuple::StateId fst::VectorHashStateTable< T, S, FP, H >::StateId

Definition at line 312 of file state-table.h.

template<class T , class S , class FP , class H >
typedef T fst::VectorHashStateTable< T, S, FP, H >::StateTuple

Definition at line 311 of file state-table.h.


Constructor & Destructor Documentation

template<class T , class S , class FP , class H >
fst::VectorHashStateTable< T, S, FP, H >::VectorHashStateTable ( S *  s,
FP *  fp,
H *  h,
size_t  vector_size = 0,
size_t  tuple_size = 0 
) [inline]

Definition at line 315 of file state-table.h.

template<class T , class S , class FP , class H >
fst::VectorHashStateTable< T, S, FP, H >::~VectorHashStateTable (  )  [inline]

Definition at line 330 of file state-table.h.


Member Function Documentation

template<class T , class S , class FP , class H >
StateId fst::VectorHashStateTable< T, S, FP, H >::FindState ( const StateTuple tuple  )  [inline]

Definition at line 336 of file state-table.h.

template<class T , class S , class FP , class H >
const FP& fst::VectorHashStateTable< T, S, FP, H >::Fingerprint (  )  const [inline]

Definition at line 368 of file state-table.h.

template<class T , class S , class FP , class H >
const H& fst::VectorHashStateTable< T, S, FP, H >::Hash (  )  const [inline]

Definition at line 370 of file state-table.h.

template<class T , class S , class FP , class H >
const S& fst::VectorHashStateTable< T, S, FP, H >::Selector (  )  const [inline]

Definition at line 366 of file state-table.h.

template<class T , class S , class FP , class H >
StateId fst::VectorHashStateTable< T, S, FP, H >::Size (  )  const [inline]

Definition at line 364 of file state-table.h.

template<class T , class S , class FP , class H >
const StateTuple& fst::VectorHashStateTable< T, S, FP, H >::Tuple ( StateId  s  )  const [inline]

Definition at line 360 of file state-table.h.


Friends And Related Function Documentation

template<class T , class S , class FP , class H >
friend class HashEqual [friend]

Definition at line 310 of file state-table.h.

template<class T , class S , class FP , class H >
friend class HashFunc [friend]

Definition at line 309 of file state-table.h.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines