Public Types | Public Member Functions | Friends

fst::ComplementFstImpl< A > Class Template Reference

#include <fst/complement.h>

Inherits fst::FstImpl< A >.

Collaboration diagram for fst::ComplementFstImpl< A >:
Collaboration graph
[legend]

List of all members.

Public Types

typedef A Arc
typedef A::Label Label
typedef A::Weight Weight
typedef A::StateId StateId

Public Member Functions

 ComplementFstImpl (const Fst< A > &fst)
 ComplementFstImpl (const ComplementFstImpl< A > &impl)
 ~ComplementFstImpl ()
StateId Start () const
Weight Final (StateId s) const
 Exchange final and non-final states; make rho destination state final.
size_t NumArcs (StateId s) const
size_t NumInputEpsilons (StateId s) const
size_t NumOutputEpsilons (StateId s) const
uint64 Properties () const
uint64 Properties (uint64 mask) const
 Set error if found; return FST impl properties.

Friends

class StateIterator< ComplementFst< A > >
class ArcIterator< ComplementFst< A > >

Detailed Description

template<class A>
class fst::ComplementFstImpl< A >

Implementation of delayed ComplementFst. The algorithm used completes the (deterministic) FSA and then exchanges final and non-final states. Completion, i.e. ensuring that all labels can be read from every state, is accomplished by using RHO labels, which match all labels that are otherwise not found leaving a state. The first state in the output is reserved to be a new state that is the destination of all RHO labels. Each remaining output state s corresponds to input state s - 1. The first arc in the output at these states is the rho label, the remaining arcs correspond to the input arcs.

Definition at line 48 of file complement.h.


Member Typedef Documentation

template<class A>
typedef A fst::ComplementFstImpl< A >::Arc

Definition at line 58 of file complement.h.

template<class A>
typedef A::Label fst::ComplementFstImpl< A >::Label

Definition at line 59 of file complement.h.

template<class A>
typedef A::StateId fst::ComplementFstImpl< A >::StateId

Reimplemented from fst::FstImpl< A >.

Definition at line 61 of file complement.h.

template<class A>
typedef A::Weight fst::ComplementFstImpl< A >::Weight

Reimplemented from fst::FstImpl< A >.

Definition at line 60 of file complement.h.


Constructor & Destructor Documentation

template<class A>
fst::ComplementFstImpl< A >::ComplementFstImpl ( const Fst< A > &  fst  )  [inline, explicit]

Definition at line 63 of file complement.h.

template<class A>
fst::ComplementFstImpl< A >::ComplementFstImpl ( const ComplementFstImpl< A > &  impl  )  [inline]

Definition at line 71 of file complement.h.

template<class A>
fst::ComplementFstImpl< A >::~ComplementFstImpl (  )  [inline]

Definition at line 79 of file complement.h.


Member Function Documentation

template<class A>
Weight fst::ComplementFstImpl< A >::Final ( StateId  s  )  const [inline]

Exchange final and non-final states; make rho destination state final.

Definition at line 93 of file complement.h.

template<class A>
size_t fst::ComplementFstImpl< A >::NumArcs ( StateId  s  )  const [inline]

Definition at line 100 of file complement.h.

template<class A>
size_t fst::ComplementFstImpl< A >::NumInputEpsilons ( StateId  s  )  const [inline]

Definition at line 107 of file complement.h.

template<class A>
size_t fst::ComplementFstImpl< A >::NumOutputEpsilons ( StateId  s  )  const [inline]

Definition at line 111 of file complement.h.

template<class A>
uint64 fst::ComplementFstImpl< A >::Properties (  )  const [inline, virtual]

Reimplemented from fst::FstImpl< A >.

Definition at line 116 of file complement.h.

template<class A>
uint64 fst::ComplementFstImpl< A >::Properties ( uint64  mask  )  const [inline, virtual]

Set error if found; return FST impl properties.

Reimplemented from fst::FstImpl< A >.

Definition at line 119 of file complement.h.

template<class A>
StateId fst::ComplementFstImpl< A >::Start (  )  const [inline]

Definition at line 81 of file complement.h.


Friends And Related Function Documentation

template<class A>
friend class ArcIterator< ComplementFst< A > > [friend]

Definition at line 56 of file complement.h.

template<class A>
friend class StateIterator< ComplementFst< A > > [friend]

Definition at line 55 of file complement.h.


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