Public Types | Public Member Functions | Protected Member Functions

fst::ImplToFst< I, F > Class Template Reference

#include <fst/fst.h>

Inherited by fst::ImplToExpandedFst< I, F >.

Collaboration diagram for fst::ImplToFst< I, F >:
Collaboration graph
[legend]

List of all members.

Public Types

typedef I::Arc Arc
typedef Arc::Weight Weight
typedef Arc::StateId StateId

Public Member Functions

virtual ~ImplToFst ()
virtual StateId Start () const
virtual Weight Final (StateId s) const
virtual size_t NumArcs (StateId s) const
virtual size_t NumInputEpsilons (StateId s) const
virtual size_t NumOutputEpsilons (StateId s) const
virtual uint64 Properties (uint64 mask, bool test) const
virtual const string & Type () const
virtual const SymbolTableInputSymbols () const
virtual const SymbolTableOutputSymbols () const

Protected Member Functions

 ImplToFst ()
 ImplToFst (I *impl)
 ImplToFst (const ImplToFst< I, F > &fst)
 ImplToFst (const ImplToFst< I, F > &fst, bool safe)
I * GetImpl () const
void SetImpl (I *impl, bool own_impl=true)

Detailed Description

template<class I, class F = Fst<typename I::Arc>>
class fst::ImplToFst< I, F >

This is a helper class template useful for attaching an Fst interface to its implementation, handling reference counting.

Definition at line 717 of file fst.h.


Member Typedef Documentation

template<class I, class F = Fst<typename I::Arc>>
typedef I::Arc fst::ImplToFst< I, F >::Arc

Reimplemented in fst::ArcSortFst< A, C >, fst::StdArcSortFst< C >, fst::ClosureFst< A >, fst::CompactFst< A, C, U >, fst::ComplementFst< A >, fst::ComposeFst< A >, fst::ConcatFst< A >, fst::ConstFst< A, U >, fst::DeterminizeFst< A >, fst::DifferenceFst< A >, fst::EditFst< A >, fst::EncodeFst< A >, fst::DecodeFst< A >, fst::ImplToExpandedFst< I, F >, fst::ExpandFst< A >, fst::FactorWeightFst< A, F >, fst::IntersectFst< A >, fst::InvertFst< A >, fst::MapFst< A, B, C >, fst::MatcherFst< F, M, N, I >, fst::ImplToMutableFst< I, F >, fst::ProjectFst< A >, fst::RationalFst< A >, fst::RelabelFst< A >, fst::ReplaceFst< A, T >, fst::RmEpsilonFst< A >, fst::SynchronizeFst< A >, fst::UnionFst< A >, fst::VectorFst< A >, fst::ArcSortFst< StdArc, C >, fst::ImplToExpandedFst< VectorFstImpl< A >, MutableFst< typename VectorFstImpl< A >::Arc > >, fst::ImplToExpandedFst< AddOnImpl< F, AddOnPair< M::MatcherData, M::MatcherData > > >, fst::ImplToExpandedFst< VectorFstImpl< Arc >, MutableFst< typename VectorFstImpl< Arc >::Arc > >, fst::ImplToExpandedFst< EditFstImpl< A >, MutableFst< typename EditFstImpl< A >::Arc > >, fst::ImplToExpandedFst< VectorFstImpl< RevA >, MutableFst< typename VectorFstImpl< RevA >::Arc > >, fst::ImplToExpandedFst< CompactFstImpl< A, C, U > >, fst::ImplToExpandedFst< ConstFstImpl< A, U > >, fst::MapFst< A, A, ProjectMapper< A > >, fst::MapFst< A, A, EncodeMapper< A > >, fst::MapFst< A, A, InvertMapper< A > >, fst::ImplToMutableFst< VectorFstImpl< Arc > >, fst::ImplToMutableFst< EditFstImpl< A > >, fst::ImplToMutableFst< VectorFstImpl< A > >, fst::ImplToMutableFst< VectorFstImpl< RevA > >, fst::ReplaceFst< A >, fst::VectorFst< RevA >, and fst::VectorFst< Arc >.

Definition at line 719 of file fst.h.

template<class I, class F = Fst<typename I::Arc>>
typedef Arc::StateId fst::ImplToFst< I, F >::StateId

Reimplemented in fst::ArcSortFst< A, C >, fst::CompactFst< A, C, U >, fst::ComplementFst< A >, fst::ComposeFst< A >, fst::ConcatFst< A >, fst::ConstFst< A, U >, fst::DeterminizeFst< A >, fst::DifferenceFst< A >, fst::EditFst< A >, fst::ImplToExpandedFst< I, F >, fst::ExpandFst< A >, fst::FactorWeightFst< A, F >, fst::IntersectFst< A >, fst::MapFst< A, B, C >, fst::MatcherFst< F, M, N, I >, fst::ImplToMutableFst< I, F >, fst::RationalFst< A >, fst::RelabelFst< A >, fst::ReplaceFst< A, T >, fst::RmEpsilonFst< A >, fst::SynchronizeFst< A >, fst::UnionFst< A >, fst::VectorFst< A >, fst::ArcSortFst< StdArc, C >, fst::ImplToExpandedFst< VectorFstImpl< A >, MutableFst< typename VectorFstImpl< A >::Arc > >, fst::ImplToExpandedFst< AddOnImpl< F, AddOnPair< M::MatcherData, M::MatcherData > > >, fst::ImplToExpandedFst< VectorFstImpl< Arc >, MutableFst< typename VectorFstImpl< Arc >::Arc > >, fst::ImplToExpandedFst< EditFstImpl< A >, MutableFst< typename EditFstImpl< A >::Arc > >, fst::ImplToExpandedFst< VectorFstImpl< RevA >, MutableFst< typename VectorFstImpl< RevA >::Arc > >, fst::ImplToExpandedFst< CompactFstImpl< A, C, U > >, fst::ImplToExpandedFst< ConstFstImpl< A, U > >, fst::MapFst< A, A, ProjectMapper< A > >, fst::MapFst< A, A, EncodeMapper< A > >, fst::MapFst< A, A, InvertMapper< A > >, fst::ImplToMutableFst< VectorFstImpl< Arc > >, fst::ImplToMutableFst< EditFstImpl< A > >, fst::ImplToMutableFst< VectorFstImpl< A > >, fst::ImplToMutableFst< VectorFstImpl< RevA > >, fst::ReplaceFst< A >, fst::VectorFst< RevA >, and fst::VectorFst< Arc >.

Definition at line 721 of file fst.h.

template<class I, class F = Fst<typename I::Arc>>
typedef Arc::Weight fst::ImplToFst< I, F >::Weight

Constructor & Destructor Documentation

template<class I, class F = Fst<typename I::Arc>>
virtual fst::ImplToFst< I, F >::~ImplToFst (  )  [inline, virtual]

Definition at line 723 of file fst.h.

template<class I, class F = Fst<typename I::Arc>>
fst::ImplToFst< I, F >::ImplToFst (  )  [inline, protected]

Definition at line 760 of file fst.h.

template<class I, class F = Fst<typename I::Arc>>
fst::ImplToFst< I, F >::ImplToFst ( I *  impl  )  [inline, protected]

Definition at line 762 of file fst.h.

template<class I, class F = Fst<typename I::Arc>>
fst::ImplToFst< I, F >::ImplToFst ( const ImplToFst< I, F > &  fst  )  [inline, protected]

Definition at line 764 of file fst.h.

template<class I, class F = Fst<typename I::Arc>>
fst::ImplToFst< I, F >::ImplToFst ( const ImplToFst< I, F > &  fst,
bool  safe 
) [inline, protected]

This constructor presumes there is a copy constructor for the implementation.

Definition at line 771 of file fst.h.


Member Function Documentation

template<class I, class F = Fst<typename I::Arc>>
virtual Weight fst::ImplToFst< I, F >::Final ( StateId  s  )  const [inline, virtual]

Definition at line 727 of file fst.h.

template<class I, class F = Fst<typename I::Arc>>
I* fst::ImplToFst< I, F >::GetImpl (  )  const [inline, protected]

Reimplemented in fst::MatcherFst< F, M, N, I >.

Definition at line 780 of file fst.h.

template<class I, class F = Fst<typename I::Arc>>
virtual const SymbolTable* fst::ImplToFst< I, F >::InputSymbols (  )  const [inline, virtual]
template<class I, class F = Fst<typename I::Arc>>
virtual size_t fst::ImplToFst< I, F >::NumArcs ( StateId  s  )  const [inline, virtual]

Definition at line 729 of file fst.h.

template<class I, class F = Fst<typename I::Arc>>
virtual size_t fst::ImplToFst< I, F >::NumInputEpsilons ( StateId  s  )  const [inline, virtual]

Definition at line 731 of file fst.h.

template<class I, class F = Fst<typename I::Arc>>
virtual size_t fst::ImplToFst< I, F >::NumOutputEpsilons ( StateId  s  )  const [inline, virtual]

Definition at line 735 of file fst.h.

template<class I, class F = Fst<typename I::Arc>>
virtual const SymbolTable* fst::ImplToFst< I, F >::OutputSymbols (  )  const [inline, virtual]
template<class I, class F = Fst<typename I::Arc>>
virtual uint64 fst::ImplToFst< I, F >::Properties ( uint64  mask,
bool  test 
) const [inline, virtual]

Definition at line 739 of file fst.h.

template<class I, class F = Fst<typename I::Arc>>
void fst::ImplToFst< I, F >::SetImpl ( I *  impl,
bool  own_impl = true 
) [inline, protected]

Change Fst implementation pointer. If 'own_impl' is true, ownership of the input implementation is given to this object; otherwise, the input implementation's reference count should be incremented.

Definition at line 786 of file fst.h.

template<class I, class F = Fst<typename I::Arc>>
virtual StateId fst::ImplToFst< I, F >::Start (  )  const [inline, virtual]

Definition at line 725 of file fst.h.

template<class I, class F = Fst<typename I::Arc>>
virtual const string& fst::ImplToFst< I, F >::Type ( void   )  const [inline, virtual]

Definition at line 749 of file fst.h.


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