Lines Matching defs:RationalFst

36 template <class A> class RationalFst;
37 template <class A> void Union(RationalFst<A> *fst1, const Fst<A> &fst2);
38 template <class A> void Concat(RationalFst<A> *fst1, const Fst<A> &fst2);
39 template <class A> void Closure(RationalFst<A> *fst, ClosureType closure_type);
135 // Implementation of Union(Fst &, RationalFst *)
151 // Implementation of Concat(Fst &, RationalFst *)
167 // Implementation of Closure(RationalFst *, closure_type)
187 class RationalFst : public Fst<A> {
189 friend class CacheStateIterator< RationalFst<A> >;
190 friend class ArcIterator< RationalFst<A> >;
191 friend class CacheArcIterator< RationalFst<A> >;
192 friend void Union<>(RationalFst<A> *fst1, const Fst<A> &fst2);
193 friend void Concat<>(RationalFst<A> *fst1, const Fst<A> &fst2);
194 friend void Closure<>(RationalFst<A> *fst, ClosureType closure_type);
234 RationalFst() : impl_(new RationalFstImpl<A>(RationalFstOptions())) {}
235 explicit RationalFst(const RationalFstOptions &opts)
239 RationalFst(const RationalFst<A> &fst) : impl_(fst.impl_) {
243 virtual ~RationalFst() { if (!impl_->DecrRefCount()) delete impl_; }
250 void operator=(const RationalFst<A> &fst); // disallow
253 // Specialization for RationalFst.
255 class StateIterator< RationalFst<A> >
256 : public CacheStateIterator< RationalFst<A> > {
258 explicit StateIterator(const RationalFst<A> &fst)
259 : CacheStateIterator< RationalFst<A> >(fst) {}
262 // Specialization for RationalFst.
264 class ArcIterator< RationalFst<A> >
265 : public CacheArcIterator< RationalFst<A> > {
269 ArcIterator(const RationalFst<A> &fst, StateId s)
270 : CacheArcIterator< RationalFst<A> >(fst, s) {
280 void RationalFst<A>::InitStateIterator(StateIteratorData<A> *data) const {
281 data->base = new StateIterator< RationalFst<A> >(*this);