Lines Matching defs:ComplementFst

35 template <class A> class ComplementFst;
37 // Implementation of delayed ComplementFst. The algorithm used
55 friend class StateIterator< ComplementFst<A> >;
56 friend class ArcIterator< ComplementFst<A> >;
140 class ComplementFst : public ImplToFst< ComplementFstImpl<A> > {
142 friend class StateIterator< ComplementFst<A> >;
143 friend class ArcIterator< ComplementFst<A> >;
152 explicit ComplementFst(const Fst<A> &fst)
156 FSTERROR() << "ComplementFst: argument not an unweighted "
163 ComplementFst(const ComplementFst<A> &fst, bool safe = false)
166 // Get a copy of this ComplementFst. See Fst<>::Copy() for further doc.
167 virtual ComplementFst<A> *Copy(bool safe = false) const {
168 return new ComplementFst<A>(*this, safe);
184 void operator=(const ComplementFst<A> &fst); // disallow
187 template <class A> const typename A::Label ComplementFst<A>::kRhoLabel;
190 // Specialization for ComplementFst.
192 class StateIterator< ComplementFst<A> > : public StateIteratorBase<A> {
197 explicit StateIterator(const ComplementFst<A> &fst)
232 // Specialization for ComplementFst.
234 class ArcIterator< ComplementFst<A> > : public ArcIteratorBase<A> {
240 ArcIterator(const ComplementFst<A> &fst, StateId s)
258 arc_.ilabel = arc_.olabel = ComplementFst<A>::kRhoLabel;
323 ComplementFst<A>::InitStateIterator(StateIteratorData<A> *data) const {
324 data->base = new StateIterator< ComplementFst<A> >(*this);
328 ComplementFst<A>::InitArcIterator(StateId s, ArcIteratorData<A> *data) const {
329 data->base = new ArcIterator< ComplementFst<A> >(*this, s);
334 typedef ComplementFst<StdArc> StdComplementFst;