fstlib.h revision 4a68b3365c8c50aa93505e99ead2565ab73dcdb0
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