Home | History | Annotate | Download | only in lib
      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