6 #ifndef FST_INTERSECT_H_ 7 #define FST_INTERSECT_H_ 22 template <
class Arc,
class M = Matcher<Fst<Arc>>,
23 class Filter = SequenceComposeFilter<M>,
25 GenericComposeStateTable<Arc,
typename Filter::FilterState>>
61 const bool acceptors =
64 FSTERROR() <<
"IntersectFst: Input FSTs are not acceptors";
65 GetMutableImpl()->SetProperties(
kError);
69 template <
class M,
class Filter,
class StateTable>
73 const bool acceptors =
76 FSTERROR() <<
"IntersectFst: input FSTs are not acceptors";
77 GetMutableImpl()->SetProperties(
kError);
148 if (opts.connect)
Connect(ofst);
153 #endif // FST_INTERSECT_H_
IntersectFst< Arc > * Copy(bool safe=false) const override
ArcIterator(const IntersectFst< Arc > &fst, StateId s)
typename ComposeFst< Arc >::Arc Arc
IntersectFst(const Fst< Arc > &fst1, const Fst< Arc > &fst2, const IntersectFstOptions< Arc, M, Filter, StateTable > &opts)
IntersectFst(const Fst< Arc > &fst1, const Fst< Arc > &fst2, const CacheOptions &opts=CacheOptions())
StateIterator(const IntersectFst< Arc > &fst)
void Intersect(const Fst< Arc > &ifst1, const Fst< Arc > &ifst2, MutableFst< Arc > *ofst, const IntersectOptions &opts=IntersectOptions())
void Connect(MutableFst< Arc > *fst)
typename ComposeFst< Arc >::Arc Arc
virtual uint64 Properties(uint64 mask, bool test) const =0
CacheOptions(bool gc=FLAGS_fst_default_cache_gc, size_t gc_limit=FLAGS_fst_default_cache_gc_limit)
typename Arc::Weight Weight
constexpr uint64 kAcceptor
typename Arc::StateId StateId
IntersectFst(const IntersectFst< Arc > &fst, bool safe=false)
typename Arc::StateId StateId
ComposeOptions IntersectOptions
IntersectFstOptions(const CacheOptions &opts, M *matcher1=nullptr, M *matcher2=nullptr, Filter *filter=nullptr, StateTable *state_table=nullptr)