FST  openfst-1.7.3
OpenFst Library
Classes | Namespaces | Enumerations | Functions | Variables
set-weight.h File Reference
#include <algorithm>
#include <cstdlib>
#include <list>
#include <string>
#include <vector>
#include <fst/union-weight.h>
#include <fst/weight.h>
Include dependency graph for set-weight.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  fst::SetWeightIterator< SetWeight_ >
 
class  fst::SetWeight< Label_, S >
 
class  fst::SetWeightIterator< SetWeight_ >
 
struct  fst::WeightConvert< SetWeight< Label, S1 >, SetWeight< Label, S2 > >
 
class  fst::WeightGenerate< SetWeight< Label, S > >
 

Namespaces

 fst
 

Enumerations

enum  fst::SetType { fst::SET_INTERSECT_UNION = 0, fst::SET_UNION_INTERSECT = 1, fst::SET_INTERSECT_UNION_RESTRICT = 2, fst::SET_BOOLEAN = 3 }
 

Functions

template<typename Label , SetType S>
bool fst::operator== (const SetWeight< Label, S > &w1, const SetWeight< Label, S > &w2)
 
template<typename Label >
bool fst::operator== (const SetWeight< Label, SET_BOOLEAN > &w1, const SetWeight< Label, SET_BOOLEAN > &w2)
 
template<typename Label , SetType S>
bool fst::operator!= (const SetWeight< Label, S > &w1, const SetWeight< Label, S > &w2)
 
template<typename Label , SetType S>
bool fst::ApproxEqual (const SetWeight< Label, S > &w1, const SetWeight< Label, S > &w2, float delta=kDelta)
 
template<typename Label , SetType S>
std::ostream & fst::operator<< (std::ostream &strm, const SetWeight< Label, S > &weight)
 
template<typename Label , SetType S>
std::istream & fst::operator>> (std::istream &strm, SetWeight< Label, S > &weight)
 
template<typename Label , SetType S>
SetWeight< Label, S > fst::Union (const SetWeight< Label, S > &w1, const SetWeight< Label, S > &w2)
 
template<typename Label , SetType S>
SetWeight< Label, S > fst::Intersect (const SetWeight< Label, S > &w1, const SetWeight< Label, S > &w2)
 
template<typename Label , SetType S>
SetWeight< Label, S > fst::Difference (const SetWeight< Label, S > &w1, const SetWeight< Label, S > &w2)
 
template<typename Label , SetType S>
SetWeight< Label, S > fst::Plus (const SetWeight< Label, S > &w1, const SetWeight< Label, S > &w2)
 
template<typename Label >
SetWeight< Label, SET_UNION_INTERSECT > fst::Plus (const SetWeight< Label, SET_UNION_INTERSECT > &w1, const SetWeight< Label, SET_UNION_INTERSECT > &w2)
 
template<typename Label >
SetWeight< Label, SET_INTERSECT_UNION_RESTRICT > fst::Plus (const SetWeight< Label, SET_INTERSECT_UNION_RESTRICT > &w1, const SetWeight< Label, SET_INTERSECT_UNION_RESTRICT > &w2)
 
template<typename Label >
SetWeight< Label, SET_BOOLEAN > fst::Plus (const SetWeight< Label, SET_BOOLEAN > &w1, const SetWeight< Label, SET_BOOLEAN > &w2)
 
template<typename Label , SetType S>
SetWeight< Label, S > fst::Times (const SetWeight< Label, S > &w1, const SetWeight< Label, S > &w2)
 
template<typename Label >
SetWeight< Label, SET_UNION_INTERSECT > fst::Times (const SetWeight< Label, SET_UNION_INTERSECT > &w1, const SetWeight< Label, SET_UNION_INTERSECT > &w2)
 
template<typename Label >
SetWeight< Label, SET_BOOLEAN > fst::Times (const SetWeight< Label, SET_BOOLEAN > &w1, const SetWeight< Label, SET_BOOLEAN > &w2)
 
template<typename Label , SetType S>
SetWeight< Label, S > fst::Divide (const SetWeight< Label, S > &w1, const SetWeight< Label, S > &w2, DivideType divide_type=DIVIDE_ANY)
 
template<typename Label >
SetWeight< Label, SET_UNION_INTERSECT > fst::Divide (const SetWeight< Label, SET_UNION_INTERSECT > &w1, const SetWeight< Label, SET_UNION_INTERSECT > &w2, DivideType divide_type=DIVIDE_ANY)
 
template<typename Label >
SetWeight< Label, SET_BOOLEAN > fst::Divide (const SetWeight< Label, SET_BOOLEAN > &w1, const SetWeight< Label, SET_BOOLEAN > &w2, DivideType divide_type=DIVIDE_ANY)
 

Variables

constexpr int fst::kSetEmpty = 0
 
constexpr int fst::kSetUniv = -1
 
constexpr int fst::kSetBad = -2
 
constexpr char fst::kSetSeparator = '_'