// fst-decl.h // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // // Copyright 2005-2010 Google, Inc. // Author: riley@google.com (Michael Riley) // // \file // This file contains declarations of classes in the Fst template library. // #ifndef FST_LIB_FST_DECL_H__ #define FST_LIB_FST_DECL_H__ #include <fst/types.h> namespace fst { class SymbolTable; class SymbolTableIterator; template <class W> class FloatWeightTpl; template <class W> class TropicalWeightTpl; template <class W> class LogWeightTpl; template <class W> class MinMaxWeightTpl; typedef FloatWeightTpl<float> FloatWeight; typedef TropicalWeightTpl<float> TropicalWeight; typedef LogWeightTpl<float> LogWeight; typedef MinMaxWeightTpl<float> MinMaxWeight; template <class W> class ArcTpl; typedef ArcTpl<TropicalWeight> StdArc; typedef ArcTpl<LogWeight> LogArc; template <class A, class C, class U = uint32> class CompactFst; template <class A, class U = uint32> class ConstFst; template <class A, class W, class M> class EditFst; template <class A> class ExpandedFst; template <class A> class Fst; template <class A> class MutableFst; template <class A> class VectorFst; template <class A, class C> class ArcSortFst; template <class A> class ClosureFst; template <class A> class ComposeFst; template <class A> class ConcatFst; template <class A> class DeterminizeFst; template <class A> class DifferenceFst; template <class A> class IntersectFst; template <class A> class InvertFst; template <class A, class B, class C> class ArcMapFst; template <class A> class ProjectFst; template <class A, class B, class S> class RandGenFst; template <class A> class RelabelFst; template <class A, class T> class ReplaceFst; template <class A> class RmEpsilonFst; template <class A> class UnionFst; template <class T, class Compare, bool max> class Heap; template <class A> class AcceptorCompactor; template <class A> class StringCompactor; template <class A> class UnweightedAcceptorCompactor; template <class A> class UnweightedCompactor; template <class A> class WeightedStringCompactor; template <class A, class P> class DefaultReplaceStateTable; typedef CompactFst<StdArc, AcceptorCompactor<StdArc> > StdCompactAcceptorFst; typedef CompactFst< StdArc, StringCompactor<StdArc> > StdCompactStringFst; typedef CompactFst<StdArc, UnweightedAcceptorCompactor<StdArc> > StdCompactUnweightedAcceptorFst; typedef CompactFst<StdArc, UnweightedCompactor<StdArc> > StdCompactUnweightedFst; typedef CompactFst< StdArc, WeightedStringCompactor<StdArc> > StdCompactWeightedStringFst; typedef ConstFst<StdArc> StdConstFst; typedef ExpandedFst<StdArc> StdExpandedFst; typedef Fst<StdArc> StdFst; typedef MutableFst<StdArc> StdMutableFst; typedef VectorFst<StdArc> StdVectorFst; template <class C> class StdArcSortFst; typedef ClosureFst<StdArc> StdClosureFst; typedef ComposeFst<StdArc> StdComposeFst; typedef ConcatFst<StdArc> StdConcatFst; typedef DeterminizeFst<StdArc> StdDeterminizeFst; typedef DifferenceFst<StdArc> StdDifferenceFst; typedef IntersectFst<StdArc> StdIntersectFst; typedef InvertFst<StdArc> StdInvertFst; typedef ProjectFst<StdArc> StdProjectFst; typedef RelabelFst<StdArc> StdRelabelFst; typedef ReplaceFst<StdArc, DefaultReplaceStateTable<StdArc, ssize_t> > StdReplaceFst; typedef RmEpsilonFst<StdArc> StdRmEpsilonFst; typedef UnionFst<StdArc> StdUnionFst; template <typename T> class IntegerFilterState; typedef IntegerFilterState<signed char> CharFilterState; typedef IntegerFilterState<short> ShortFilterState; typedef IntegerFilterState<int> IntFilterState; template <class F> class Matcher; template <class M1, class M2 = M1> class SequenceComposeFilter; template <class M1, class M2 = M1> class AltSequenceComposeFilter; template <class M1, class M2 = M1> class MatchComposeFilter; } // namespace fst #endif // FST_LIB_FST_DECL_H__