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
22namespace fst {
23
24class SymbolTable;
25class SymbolTableIterator;
26
27class LogWeight;
28class TropicalWeight;
29
30class LogArc;
31class StdArc;
32
33template <class A> class ConstFst;
34template <class A> class ExpandedFst;
35template <class A> class Fst;
36template <class A> class MutableFst;
37template <class A> class VectorFst;
38
39template <class A, class C> class ArcSortFst;
40template <class A> class ClosureFst;
41template <class A> class ComposeFst;
42template <class A> class ConcatFst;
43template <class A> class DeterminizeFst;
44template <class A> class DeterminizeFst;
45template <class A> class DifferenceFst;
46template <class A> class IntersectFst;
47template <class A> class InvertFst;
48template <class A, class B, class C> class MapFst;
49template <class A> class ProjectFst;
50template <class A> class RelabelFst;
51template <class A> class ReplaceFst;
52template <class A> class RmEpsilonFst;
53template <class A> class UnionFst;
54
55template <class T, class Compare> class Heap;
56
57typedef ConstFst<StdArc> StdConstFst;
58typedef ExpandedFst<StdArc> StdExpandedFst;
59typedef Fst<StdArc> StdFst;
60typedef MutableFst<StdArc> StdMutableFst;
61typedef VectorFst<StdArc> StdVectorFst;
62
63template <class C> class StdArcSortFst;
64typedef ClosureFst<StdArc> StdClosureFst;
65typedef ComposeFst<StdArc> StdComposeFst;
66typedef ConcatFst<StdArc> StdConcatFst;
67typedef DeterminizeFst<StdArc> StdDeterminizeFst;
68typedef DifferenceFst<StdArc> StdDifferenceFst;
69typedef IntersectFst<StdArc> StdIntersectFst;
70typedef InvertFst<StdArc> StdInvertFst;
71typedef ProjectFst<StdArc> StdProjectFst;
72typedef RelabelFst<StdArc> StdRelabelFst;
73typedef ReplaceFst<StdArc> StdReplaceFst;
74typedef RmEpsilonFst<StdArc> StdRmEpsilonFst;
75typedef UnionFst<StdArc> StdUnionFst;
76
77}
78
79#endif  // FST_LIB_FST_DECL_H__
80