1 // fst-decl.h 2 // 3 // Licensed under the Apache License, Version 2.0 (the "License"); 4 // you may not use this file except in compliance with the License. 5 // You may obtain a copy of the License at 6 // 7 // http://www.apache.org/licenses/LICENSE-2.0 8 // 9 // Unless required by applicable law or agreed to in writing, software 10 // distributed under the License is distributed on an "AS IS" BASIS, 11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 // See the License for the specific language governing permissions and 13 // limitations under the License. 14 // 15 // 16 // \file 17 // This file contains declarations of classes in the OpenFst library. 18 19 #ifndef FST_LIB_FST_DECL_H__ 20 #define FST_LIB_FST_DECL_H__ 21 22 namespace fst { 23 24 class SymbolTable; 25 class SymbolTableIterator; 26 27 class LogWeight; 28 class TropicalWeight; 29 30 struct LogArc; 31 struct StdArc; 32 33 template <class A> class ConstFst; 34 template <class A> class ExpandedFst; 35 template <class A> class Fst; 36 template <class A> class MutableFst; 37 template <class A> class VectorFst; 38 39 template <class A, class C> class ArcSortFst; 40 template <class A> class ClosureFst; 41 template <class A> class ComposeFst; 42 template <class A> class ConcatFst; 43 template <class A> class DeterminizeFst; 44 template <class A> class DeterminizeFst; 45 template <class A> class DifferenceFst; 46 template <class A> class IntersectFst; 47 template <class A> class InvertFst; 48 template <class A, class B, class C> class MapFst; 49 template <class A> class ProjectFst; 50 template <class A> class RelabelFst; 51 template <class A> class ReplaceFst; 52 template <class A> class RmEpsilonFst; 53 template <class A> class UnionFst; 54 55 template <class T, class Compare> class Heap; 56 57 typedef ConstFst<StdArc> StdConstFst; 58 typedef ExpandedFst<StdArc> StdExpandedFst; 59 typedef Fst<StdArc> StdFst; 60 typedef MutableFst<StdArc> StdMutableFst; 61 typedef VectorFst<StdArc> StdVectorFst; 62 63 template <class C> class StdArcSortFst; 64 typedef ClosureFst<StdArc> StdClosureFst; 65 typedef ComposeFst<StdArc> StdComposeFst; 66 typedef ConcatFst<StdArc> StdConcatFst; 67 typedef DeterminizeFst<StdArc> StdDeterminizeFst; 68 typedef DifferenceFst<StdArc> StdDifferenceFst; 69 typedef IntersectFst<StdArc> StdIntersectFst; 70 typedef InvertFst<StdArc> StdInvertFst; 71 typedef ProjectFst<StdArc> StdProjectFst; 72 typedef RelabelFst<StdArc> StdRelabelFst; 73 typedef ReplaceFst<StdArc> StdReplaceFst; 74 typedef RmEpsilonFst<StdArc> StdRmEpsilonFst; 75 typedef UnionFst<StdArc> StdUnionFst; 76 77 } 78 79 #endif // FST_LIB_FST_DECL_H__ 80