Public Types | Public Member Functions

fst::PruneQueue< Q, L, C > Class Template Reference

#include <fst/queue.h>

Inherits QueueBase< Q::StateId >.

Collaboration diagram for fst::PruneQueue< Q, L, C >:
Collaboration graph
[legend]

List of all members.

Public Types

typedef Q::StateId StateId
typedef L::Weight Weight

Public Member Functions

 PruneQueue (const vector< Weight > &distance, Q *queue, L comp, const C &class_func, Weight threshold)
 ~PruneQueue ()
StateId Head () const
void Enqueue (StateId s)
void Dequeue ()
void Update (StateId s)
bool Empty () const
void Clear ()

Detailed Description

template<typename Q, typename L, typename C>
class fst::PruneQueue< Q, L, C >

Pruning queue discipline: Enqueues a state 's' only when its shortest distance (so far), as specified by 'distance', is less than (as specified by 'comp') the shortest distance Times() the 'threshold' to any state in the same equivalence class, as specified by the function object 'class_func'. The underlying queue discipline is specified by 'queue'. The ownership of 'queue' is given to this class.

Definition at line 802 of file queue.h.


Member Typedef Documentation

template<typename Q, typename L, typename C>
typedef Q::StateId fst::PruneQueue< Q, L, C >::StateId

Reimplemented from fst::QueueBase< Q::StateId >.

Reimplemented in fst::NaturalPruneQueue< Q, W, C >.

Definition at line 804 of file queue.h.

template<typename Q, typename L, typename C>
typedef L::Weight fst::PruneQueue< Q, L, C >::Weight

Reimplemented in fst::NaturalPruneQueue< Q, W, C >.

Definition at line 805 of file queue.h.


Constructor & Destructor Documentation

template<typename Q, typename L, typename C>
fst::PruneQueue< Q, L, C >::PruneQueue ( const vector< Weight > &  distance,
Q *  queue,
comp,
const C &  class_func,
Weight  threshold 
) [inline]

Definition at line 807 of file queue.h.

template<typename Q, typename L, typename C>
fst::PruneQueue< Q, L, C >::~PruneQueue (  )  [inline]

Definition at line 816 of file queue.h.


Member Function Documentation

template<typename Q, typename L, typename C>
void fst::PruneQueue< Q, L, C >::Clear (  )  [inline]

Reimplemented from fst::QueueBase< Q::StateId >.

Definition at line 843 of file queue.h.

template<typename Q, typename L, typename C>
void fst::PruneQueue< Q, L, C >::Dequeue (  )  [inline]

Reimplemented from fst::QueueBase< Q::StateId >.

Definition at line 833 of file queue.h.

template<typename Q, typename L, typename C>
bool fst::PruneQueue< Q, L, C >::Empty (  )  const [inline]

Reimplemented from fst::QueueBase< Q::StateId >.

Definition at line 842 of file queue.h.

template<typename Q, typename L, typename C>
void fst::PruneQueue< Q, L, C >::Enqueue ( StateId  s  )  [inline]

Definition at line 820 of file queue.h.

template<typename Q, typename L, typename C>
StateId fst::PruneQueue< Q, L, C >::Head (  )  const [inline]

Reimplemented from fst::QueueBase< Q::StateId >.

Definition at line 818 of file queue.h.

template<typename Q, typename L, typename C>
void fst::PruneQueue< Q, L, C >::Update ( StateId  s  )  [inline]

Definition at line 835 of file queue.h.


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