Lines Matching defs:RmEpsilonFst
312 // Implementation of delayed RmEpsilonFst.
426 class RmEpsilonFst : public Fst<A> {
428 friend class ArcIterator< RmEpsilonFst<A> >;
429 friend class CacheStateIterator< RmEpsilonFst<A> >;
430 friend class CacheArcIterator< RmEpsilonFst<A> >;
437 RmEpsilonFst(const Fst<A> &fst)
440 RmEpsilonFst(const Fst<A> &fst, const RmEpsilonFstOptions &opts)
443 explicit RmEpsilonFst(const RmEpsilonFst<A> &fst) : impl_(fst.impl_) {
447 virtual ~RmEpsilonFst() { if (!impl_->DecrRefCount()) delete impl_; }
475 virtual RmEpsilonFst<A> *Copy() const {
476 return new RmEpsilonFst<A>(*this);
499 void operator=(const RmEpsilonFst<A> &fst); // disallow
503 // Specialization for RmEpsilonFst.
505 class StateIterator< RmEpsilonFst<A> >
506 : public CacheStateIterator< RmEpsilonFst<A> > {
508 explicit StateIterator(const RmEpsilonFst<A> &fst)
509 : CacheStateIterator< RmEpsilonFst<A> >(fst) {}
513 // Specialization for RmEpsilonFst.
515 class ArcIterator< RmEpsilonFst<A> >
516 : public CacheArcIterator< RmEpsilonFst<A> > {
520 ArcIterator(const RmEpsilonFst<A> &fst, StateId s)
521 : CacheArcIterator< RmEpsilonFst<A> >(fst, s) {
532 void RmEpsilonFst<A>::InitStateIterator(StateIteratorData<A> *data) const {
533 data->base = new StateIterator< RmEpsilonFst<A> >(*this);
538 typedef RmEpsilonFst<StdArc> StdRmEpsilonFst;