FST  openfst-1.7.1
OpenFst Library
fst-decl.h
Go to the documentation of this file.
1 // See www.openfst.org for extensive documentation on this weighted
2 // finite-state transducer library.
3 //
4 // This file contains declarations of classes in the Fst template library.
5 
6 #ifndef FST_FST_DECL_H_
7 #define FST_FST_DECL_H_
8 
9 #include <sys/types.h>
10 #include <memory> // for allocator<>
11 
12 #include <fst/types.h>
13 
14 namespace fst {
15 
16 // Symbol table and iterator.
17 
18 class SymbolTable;
19 
20 class SymbolTableIterator;
21 
22 // Weight templates and weights.
23 
24 template <class T>
25 class FloatWeightTpl;
26 
27 template <class T>
28 class TropicalWeightTpl;
29 
30 template <class T>
31 class LogWeightTpl;
32 
33 template <class T>
34 class MinMaxWeightTpl;
35 
36 using FloatWeight = FloatWeightTpl<float>;
37 
38 using TropicalWeight = TropicalWeightTpl<float>;
39 
40 using LogWeight = LogWeightTpl<float>;
41 
42 using MinMaxWeight = MinMaxWeightTpl<float>;
43 
44 // Arc templates and arcs.
45 
46 template <class Weight>
47 struct ArcTpl;
48 
49 using StdArc = ArcTpl<TropicalWeight>;
50 
51 using LogArc = ArcTpl<LogWeight>;
52 
53 // Stores.
54 
55 template <class Element, class U>
56 class DefaultCompactStore;
57 
58 template <class Arc>
59 class DefaultCacheStore;
60 
61 // FST templates.
62 
63 template <class Arc, class Compactor, class U = uint32,
64  class CompactStore = DefaultCompactStore<typename Compactor::Element, U>,
65  class CacheStore = DefaultCacheStore<Arc>>
66 class CompactFst;
67 
68 template <class Arc, class U = uint32>
69 class ConstFst;
70 
71 template <class Arc, class Weight, class Matcher>
72 class EditFst;
73 
74 template <class Arc>
75 class ExpandedFst;
76 
77 template <class Arc>
78 class Fst;
79 
80 template <class Arc>
81 class MutableFst;
82 
83 template <class Arc, class Allocator = std::allocator<Arc>>
85 
86 template <class Arc, class State = VectorState<Arc>>
87 class VectorFst;
88 
89 template <class Arc, class U = ssize_t>
91 
92 // On-the-fly operations.
93 
94 template <class Arc, class Compare>
95 class ArcSortFst;
96 
97 template <class Arc>
98 class ClosureFst;
99 
100 template <class Arc, class Store = DefaultCacheStore<Arc>>
101 class ComposeFst;
102 
103 template <class Arc>
104 class ConcatFst;
105 
106 template <class Arc>
107 class DeterminizeFst;
108 
109 template <class Arc>
110 class DifferenceFst;
111 
112 template <class Arc>
114 
115 template <class Arc>
116 class InvertFst;
117 
118 template <class AArc, class BArc, class Mapper>
119 class ArcMapFst;
120 
121 template <class Arc>
123 
124 template <class AArc, class BArc, class Selector>
126 
127 template <class Arc>
129 
130 template <class Arc, class StateTable = DefaultReplaceStateTable<Arc>,
131  class Store = DefaultCacheStore<Arc>>
133 
134 template <class Arc>
136 
137 template <class Arc>
138 class UnionFst;
139 
140 // Heap.
141 
142 template <class T, class Compare>
143 class Heap;
144 
145 // Compactors.
146 
147 template <class Arc>
148 class AcceptorCompactor;
149 
150 template <class Arc>
151 class StringCompactor;
152 
153 template <class Arc>
155 
156 template <class Arc>
157 class UnweightedCompactor;
158 
159 template <class Arc>
161 
162 // Compact FSTs.
163 
164 template <class Arc, class U = uint32>
166 
167 template <class Arc, class U = uint32>
170 
171 template <class Arc, class U = uint32>
173 
174 template <class Arc, class U = uint32>
176 
177 template <class Arc, class U = uint32>
180 
181 // StdArc aliases for FSTs.
182 
188 
189 // StdArc aliases for on-the-fly operations.
190 
191 template <class Compare>
193 
195 
197 
199 
201 
203 
205 
207 
209 
211 
213 
215 
217 
218 // Filter states.
219 
220 template <class T>
221 class IntegerFilterState;
222 
224 
226 
228 
229 // Matchers and filters.
230 
231 template <class FST>
232 class Matcher;
233 
234 template <class Matcher1, class Matcher2 = Matcher1>
235 class NullComposeFilter;
236 
237 template <class Matcher1, class Matcher2 = Matcher1>
239 
240 template <class Matcher1, class Matcher2 = Matcher1>
242 
243 template <class Matcher1, class Matcher2 = Matcher1>
245 
246 template <class Matcher1, class Matcher2 = Matcher1>
247 class MatchComposeFilter;
248 
249 } // namespace fst
250 
251 #endif // FST_FST_DECL_H_
ArcTpl< TropicalWeight > StdArc
Definition: arc.h:55
LogWeightTpl< float > LogWeight
Definition: float-weight.h:446
TropicalWeightTpl< float > TropicalWeight
Definition: float-weight.h:244
MinMaxWeightTpl< float > MinMaxWeight
Definition: float-weight.h:667
uint32_t uint32
Definition: types.h:31
FloatWeightTpl< float > FloatWeight
Definition: float-weight.h:89
ArcTpl< LogWeight > LogArc
Definition: arc.h:56