Home | History | Annotate | Download | only in lib

Lines Matching defs:ComplementFst

29 template <class A> class ComplementFst;
31 // Implementation of delayed ComplementFst. The algorithm used
50 friend class StateIterator< ComplementFst<A> >;
51 friend class ArcIterator< ComplementFst<A> >;
108 class ComplementFst : public Fst<A> {
110 friend class StateIterator< ComplementFst<A> >;
111 friend class ArcIterator< ComplementFst<A> >;
118 explicit ComplementFst(const Fst<A> &fst)
122 LOG(FATAL) << "ComplementFst: argument not an unweighted"
126 ComplementFst(const ComplementFst<A> &fst) : impl_(fst.impl_) {
130 virtual ~ComplementFst() { if (!impl_->DecrRefCount()) { delete impl_; }}
148 virtual ComplementFst<A> *Copy() const {
149 return new ComplementFst<A>(*this);
178 void operator=(const ComplementFst<A> &fst); // disallow
182 // Specialization for ComplementFst.
184 class StateIterator< ComplementFst<A> > : public StateIteratorBase<A> {
189 explicit StateIterator(const ComplementFst<A> &fst)
213 // Specialization for ComplementFst.
215 class ArcIterator< ComplementFst<A> > : public ArcIteratorBase<A> {
221 ArcIterator(const ComplementFst<A> &fst, StateId s)
278 ComplementFst<A>::InitStateIterator(StateIteratorData<A> *data) const {
279 data->base = new StateIterator< ComplementFst<A> >(*this);
283 ComplementFst<A>::InitArcIterator(StateId s, ArcIteratorData<A> *data) const {
284 data->base = new ArcIterator< ComplementFst<A> >(*this, s);
289 typedef ComplementFst<StdArc> StdComplementFst;