Public Types | Public Member Functions

fst::LookAheadComposeFilter< F, M1, M2, MT > Class Template Reference

#include <fst/lookahead-filter.h>

Collaboration diagram for fst::LookAheadComposeFilter< F, M1, M2, MT >:
Collaboration graph
[legend]

List of all members.

Public Types

typedef F::FST1 FST1
typedef F::FST2 FST2
typedef F::Arc Arc
typedef F::Matcher1 Matcher1
typedef F::Matcher2 Matcher2
typedef F::FilterState FilterState
typedef LookAheadComposeFilter
< F, M1, M2, MT > 
Filter
typedef Arc::StateId StateId
typedef Arc::Label Label
typedef Arc::Weight Weight

Public Member Functions

 LookAheadComposeFilter (const FST1 &fst1, const FST2 &fst2, M1 *matcher1, M2 *matcher2)
 LookAheadComposeFilter (const LookAheadComposeFilter< F, M1, M2, MT > &filter, bool safe=false)
FilterState Start () const
void SetState (StateId s1, StateId s2, const FilterState &f)
FilterState FilterArc (Arc *arc1, Arc *arc2) const
void FilterFinal (Weight *weight1, Weight *weight2) const
Matcher1GetMatcher1 ()
 Return resp matchers. Ownership stays with filter.
Matcher2GetMatcher2 ()
const LookAheadSelector
< Matcher1, Matcher2, MT > & 
Selector () const
uint64 Properties (uint64 props) const
uint32 LookAheadFlags () const
bool LookAheadArc () const
bool LookAheadOutput () const

Detailed Description

template<class F, class M1 = LookAheadMatcher<typename F::FST1>, class M2 = M1, MatchType MT = MATCH_BOTH>
class fst::LookAheadComposeFilter< F, M1, M2, MT >

This filter uses a lookahead matcher in FilterArc(arc1, arc2) to examine the future of the composition state (arc1.nextstate, arc2.nextstate), blocking moving forward when its determined to be non-coaccessible. It is templated on an underlying filter, typically the epsilon filter. Which matcher is the lookahead matcher is determined by the template argument MT unless it is MATCH_BOTH. In that case, both matcher arguments must be lookahead matchers of the same type and one will be selected by LookAheadMatchType() based on their capability.

Definition at line 196 of file lookahead-filter.h.


Member Typedef Documentation

template<class F, class M1 = LookAheadMatcher<typename F::FST1>, class M2 = M1, MatchType MT = MATCH_BOTH>
typedef F::Arc fst::LookAheadComposeFilter< F, M1, M2, MT >::Arc

Definition at line 200 of file lookahead-filter.h.

template<class F, class M1 = LookAheadMatcher<typename F::FST1>, class M2 = M1, MatchType MT = MATCH_BOTH>
typedef LookAheadComposeFilter<F, M1, M2, MT> fst::LookAheadComposeFilter< F, M1, M2, MT >::Filter

Definition at line 204 of file lookahead-filter.h.

template<class F, class M1 = LookAheadMatcher<typename F::FST1>, class M2 = M1, MatchType MT = MATCH_BOTH>
typedef F::FilterState fst::LookAheadComposeFilter< F, M1, M2, MT >::FilterState

Definition at line 203 of file lookahead-filter.h.

template<class F, class M1 = LookAheadMatcher<typename F::FST1>, class M2 = M1, MatchType MT = MATCH_BOTH>
typedef F::FST1 fst::LookAheadComposeFilter< F, M1, M2, MT >::FST1

Definition at line 198 of file lookahead-filter.h.

template<class F, class M1 = LookAheadMatcher<typename F::FST1>, class M2 = M1, MatchType MT = MATCH_BOTH>
typedef F::FST2 fst::LookAheadComposeFilter< F, M1, M2, MT >::FST2

Definition at line 199 of file lookahead-filter.h.

template<class F, class M1 = LookAheadMatcher<typename F::FST1>, class M2 = M1, MatchType MT = MATCH_BOTH>
typedef Arc::Label fst::LookAheadComposeFilter< F, M1, M2, MT >::Label

Definition at line 207 of file lookahead-filter.h.

template<class F, class M1 = LookAheadMatcher<typename F::FST1>, class M2 = M1, MatchType MT = MATCH_BOTH>
typedef F::Matcher1 fst::LookAheadComposeFilter< F, M1, M2, MT >::Matcher1

Definition at line 201 of file lookahead-filter.h.

template<class F, class M1 = LookAheadMatcher<typename F::FST1>, class M2 = M1, MatchType MT = MATCH_BOTH>
typedef F::Matcher2 fst::LookAheadComposeFilter< F, M1, M2, MT >::Matcher2

Definition at line 202 of file lookahead-filter.h.

template<class F, class M1 = LookAheadMatcher<typename F::FST1>, class M2 = M1, MatchType MT = MATCH_BOTH>
typedef Arc::StateId fst::LookAheadComposeFilter< F, M1, M2, MT >::StateId

Definition at line 206 of file lookahead-filter.h.

template<class F, class M1 = LookAheadMatcher<typename F::FST1>, class M2 = M1, MatchType MT = MATCH_BOTH>
typedef Arc::Weight fst::LookAheadComposeFilter< F, M1, M2, MT >::Weight

Definition at line 208 of file lookahead-filter.h.


Constructor & Destructor Documentation

template<class F, class M1 = LookAheadMatcher<typename F::FST1>, class M2 = M1, MatchType MT = MATCH_BOTH>
fst::LookAheadComposeFilter< F, M1, M2, MT >::LookAheadComposeFilter ( const FST1 fst1,
const FST2 fst2,
M1 *  matcher1,
M2 *  matcher2 
) [inline]

Definition at line 210 of file lookahead-filter.h.

template<class F, class M1 = LookAheadMatcher<typename F::FST1>, class M2 = M1, MatchType MT = MATCH_BOTH>
fst::LookAheadComposeFilter< F, M1, M2, MT >::LookAheadComposeFilter ( const LookAheadComposeFilter< F, M1, M2, MT > &  filter,
bool  safe = false 
) [inline]

Definition at line 228 of file lookahead-filter.h.


Member Function Documentation

template<class F, class M1 = LookAheadMatcher<typename F::FST1>, class M2 = M1, MatchType MT = MATCH_BOTH>
FilterState fst::LookAheadComposeFilter< F, M1, M2, MT >::FilterArc ( Arc arc1,
Arc arc2 
) const [inline]

Definition at line 246 of file lookahead-filter.h.

template<class F, class M1 = LookAheadMatcher<typename F::FST1>, class M2 = M1, MatchType MT = MATCH_BOTH>
void fst::LookAheadComposeFilter< F, M1, M2, MT >::FilterFinal ( Weight weight1,
Weight weight2 
) const [inline]

Definition at line 257 of file lookahead-filter.h.

template<class F, class M1 = LookAheadMatcher<typename F::FST1>, class M2 = M1, MatchType MT = MATCH_BOTH>
Matcher1* fst::LookAheadComposeFilter< F, M1, M2, MT >::GetMatcher1 (  )  [inline]

Return resp matchers. Ownership stays with filter.

Definition at line 262 of file lookahead-filter.h.

template<class F, class M1 = LookAheadMatcher<typename F::FST1>, class M2 = M1, MatchType MT = MATCH_BOTH>
Matcher2* fst::LookAheadComposeFilter< F, M1, M2, MT >::GetMatcher2 (  )  [inline]

Definition at line 263 of file lookahead-filter.h.

template<class F, class M1 = LookAheadMatcher<typename F::FST1>, class M2 = M1, MatchType MT = MATCH_BOTH>
bool fst::LookAheadComposeFilter< F, M1, M2, MT >::LookAheadArc (  )  const [inline]

Definition at line 275 of file lookahead-filter.h.

template<class F, class M1 = LookAheadMatcher<typename F::FST1>, class M2 = M1, MatchType MT = MATCH_BOTH>
uint32 fst::LookAheadComposeFilter< F, M1, M2, MT >::LookAheadFlags (  )  const [inline]

Definition at line 273 of file lookahead-filter.h.

template<class F, class M1 = LookAheadMatcher<typename F::FST1>, class M2 = M1, MatchType MT = MATCH_BOTH>
bool fst::LookAheadComposeFilter< F, M1, M2, MT >::LookAheadOutput (  )  const [inline]

Definition at line 277 of file lookahead-filter.h.

template<class F, class M1 = LookAheadMatcher<typename F::FST1>, class M2 = M1, MatchType MT = MATCH_BOTH>
uint64 fst::LookAheadComposeFilter< F, M1, M2, MT >::Properties ( uint64  props  )  const [inline]

Definition at line 269 of file lookahead-filter.h.

template<class F, class M1 = LookAheadMatcher<typename F::FST1>, class M2 = M1, MatchType MT = MATCH_BOTH>
const LookAheadSelector<Matcher1, Matcher2, MT>& fst::LookAheadComposeFilter< F, M1, M2, MT >::Selector (  )  const [inline]

Definition at line 265 of file lookahead-filter.h.

template<class F, class M1 = LookAheadMatcher<typename F::FST1>, class M2 = M1, MatchType MT = MATCH_BOTH>
void fst::LookAheadComposeFilter< F, M1, M2, MT >::SetState ( StateId  s1,
StateId  s2,
const FilterState f 
) [inline]

Definition at line 242 of file lookahead-filter.h.

template<class F, class M1 = LookAheadMatcher<typename F::FST1>, class M2 = M1, MatchType MT = MATCH_BOTH>
FilterState fst::LookAheadComposeFilter< F, M1, M2, MT >::Start (  )  const [inline]

Definition at line 238 of file lookahead-filter.h.


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