• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // fstlib.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 // \page OpenFst - Weighted Finite State Transducers
17 // This is a library for constructing, combining, optimizing, and
18 // searching "weighted finite-state transducers" (FSTs). Weighted
19 // finite-state transducers are automata where each transition has an
20 // input label, an output label, and a weight. The more familiar
21 // finite-state acceptor is represented as a transducer with each
22 // transition's input and output the same.  Finite-state acceptors
23 // are used to represent sets of strings (specifically, "regular" or
24 // "rational sets"); finite-state transducers are used to represent
25 // binary relations between pairs of strings (specifically, "rational
26 // transductions"). The weights can be used to represent the cost of
27 // taking a particular transition.
28 //
29 // In this library, the transducers are templated on the Arc
30 // (transition) definition, which allows changing the label, weight,
31 // and state ID sets. Labels and state IDs are restricted to signed
32 // integral types but the weight can be an arbitrary type whose
33 // members satisfy certain algebraic ("semiring") properties.
34 //
35 // For more information, see the OpenFst web site:
36 // http://www.openfst.org.
37 
38 // \file
39 // This convenience file includes all other OpenFst header files.
40 
41 #ifndef FST_LIB_FSTLIB_H__
42 #define FST_LIB_FSTLIB_H__
43 
44 // Abstract FST classes
45 #include "fst/lib/fst.h"
46 #include "fst/lib/expanded-fst.h"
47 #include "fst/lib/mutable-fst.h"
48 
49 // Concrete FST classes
50 #include "fst/lib/vector-fst.h"
51 #include "fst/lib/const-fst.h"
52 
53 // FST algorithms and delayed FST classes
54 #include "fst/lib/arcsort.h"
55 #include "fst/lib/closure.h"
56 #include "fst/lib/compose.h"
57 #include "fst/lib/concat.h"
58 #include "fst/lib/connect.h"
59 #include "fst/lib/determinize.h"
60 #include "fst/lib/difference.h"
61 #include "fst/lib/encode.h"
62 #include "fst/lib/epsnormalize.h"
63 #include "fst/lib/equal.h"
64 #include "fst/lib/equivalent.h"
65 #include "fst/lib/factor-weight.h"
66 #include "fst/lib/intersect.h"
67 #include "fst/lib/invert.h"
68 #include "fst/lib/map.h"
69 #include "fst/lib/minimize.h"
70 #include "fst/lib/project.h"
71 #include "fst/lib/prune.h"
72 #include "fst/lib/push.h"
73 #include "fst/lib/randgen.h"
74 #include "fst/lib/relabel.h"
75 #include "fst/lib/replace.h"
76 #include "fst/lib/reverse.h"
77 #include "fst/lib/reweight.h"
78 #include "fst/lib/rmepsilon.h"
79 #include "fst/lib/rmfinalepsilon.h"
80 #include "fst/lib/shortest-distance.h"
81 #include "fst/lib/shortest-path.h"
82 #include "fst/lib/synchronize.h"
83 #include "fst/lib/topsort.h"
84 #include "fst/lib/union.h"
85 #include "fst/lib/verify.h"
86 
87 #endif  // FST_LIB_FSTLIB_H__
88