FST  openfst-1.8.3
OpenFst Library
Classes | Namespaces | Enumerations | Functions | Variables
string-weight.h File Reference
#include <cstddef>
#include <cstdint>
#include <ios>
#include <istream>
#include <list>
#include <optional>
#include <ostream>
#include <random>
#include <string>
#include <vector>
#include <fst/log.h>
#include <fst/product-weight.h>
#include <fst/union-weight.h>
#include <fst/util.h>
#include <fst/weight.h>
#include <string_view>
Include dependency graph for string-weight.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  fst::StringWeightIterator< StringWeight_ >
 
class  fst::StringWeightReverseIterator< StringWeight_ >
 
class  fst::StringWeight< L, S >
 
class  fst::StringWeightIterator< StringWeight_ >
 
class  fst::StringWeightReverseIterator< StringWeight_ >
 
class  fst::WeightGenerate< StringWeight< Label, S > >
 
struct  fst::GallicWeight< Label, W, G >
 
class  fst::WeightGenerate< GallicWeight< Label, W, G > >
 
struct  fst::GallicUnionWeightOptions< Label, W >
 
struct  fst::GallicUnionWeightOptions< Label, W >::Compare
 
struct  fst::GallicUnionWeightOptions< Label, W >::Merge
 
struct  fst::GallicWeight< Label, W, GALLIC >
 
class  fst::WeightGenerate< GallicWeight< Label, W, GALLIC > >
 

Namespaces

 fst
 

Enumerations

enum  fst::StringType { fst::STRING_LEFT = 0, fst::STRING_RIGHT = 1, fst::STRING_RESTRICT = 2 }
 
enum  fst::GallicType {
  fst::GALLIC_LEFT = 0, fst::GALLIC_RIGHT = 1, fst::GALLIC_RESTRICT = 2, fst::GALLIC_MIN = 3,
  fst::GALLIC = 4
}
 

Functions

constexpr StringType fst::ReverseStringType (StringType s)
 
template<typename Label , StringType S>
bool fst::operator== (const StringWeight< Label, S > &w1, const StringWeight< Label, S > &w2)
 
template<typename Label , StringType S>
bool fst::operator!= (const StringWeight< Label, S > &w1, const StringWeight< Label, S > &w2)
 
template<typename Label , StringType S>
bool fst::ApproxEqual (const StringWeight< Label, S > &w1, const StringWeight< Label, S > &w2, float delta=kDelta)
 
template<typename Label , StringType S>
std::ostream & fst::operator<< (std::ostream &strm, const StringWeight< Label, S > &weight)
 
template<typename Label , StringType S>
std::istream & fst::operator>> (std::istream &strm, StringWeight< Label, S > &weight)
 
template<typename Label , StringType S>
StringWeight< Label, S > fst::Plus (const StringWeight< Label, S > &w1, const StringWeight< Label, S > &w2)
 
template<typename Label >
StringWeight< Label, STRING_LEFT > fst::Plus (const StringWeight< Label, STRING_LEFT > &w1, const StringWeight< Label, STRING_LEFT > &w2)
 
template<typename Label >
StringWeight< Label, STRING_RIGHT > fst::Plus (const StringWeight< Label, STRING_RIGHT > &w1, const StringWeight< Label, STRING_RIGHT > &w2)
 
template<typename Label , StringType S>
StringWeight< Label, S > fst::Times (const StringWeight< Label, S > &w1, const StringWeight< Label, S > &w2)
 
template<typename Label , StringType S>
StringWeight< Label, S > fst::DivideLeft (const StringWeight< Label, S > &w1, const StringWeight< Label, S > &w2)
 
template<typename Label , StringType S>
StringWeight< Label, S > fst::DivideRight (const StringWeight< Label, S > &w1, const StringWeight< Label, S > &w2)
 
template<typename Label , StringType S>
StringWeight< Label, S > fst::Divide (const StringWeight< Label, S > &w1, const StringWeight< Label, S > &w2, DivideType divide_type)
 
template<typename Label >
StringWeight< Label, STRING_LEFT > fst::Divide (const StringWeight< Label, STRING_LEFT > &w1, const StringWeight< Label, STRING_LEFT > &w2, DivideType divide_type)
 
template<typename Label >
StringWeight< Label, STRING_RIGHT > fst::Divide (const StringWeight< Label, STRING_RIGHT > &w1, const StringWeight< Label, STRING_RIGHT > &w2, DivideType divide_type)
 
constexpr StringType fst::GallicStringType (GallicType g)
 
constexpr GallicType fst::ReverseGallicType (GallicType g)
 
template<class Label , class W , GallicType G>
GallicWeight< Label, W, G > fst::Plus (const GallicWeight< Label, W, G > &w, const GallicWeight< Label, W, G > &v)
 
template<class Label , class W >
GallicWeight< Label, W, GALLIC_MIN > fst::Plus (const GallicWeight< Label, W, GALLIC_MIN > &w1, const GallicWeight< Label, W, GALLIC_MIN > &w2)
 
template<class Label , class W , GallicType G>
GallicWeight< Label, W, G > fst::Times (const GallicWeight< Label, W, G > &w, const GallicWeight< Label, W, G > &v)
 
template<class Label , class W , GallicType G>
GallicWeight< Label, W, G > fst::Divide (const GallicWeight< Label, W, G > &w, const GallicWeight< Label, W, G > &v, DivideType divide_type=DIVIDE_ANY)
 
template<class Label , class W >
GallicWeight< Label, W, GALLIC > fst::Plus (const GallicWeight< Label, W, GALLIC > &w1, const GallicWeight< Label, W, GALLIC > &w2)
 
template<class Label , class W >
GallicWeight< Label, W, GALLIC > fst::Times (const GallicWeight< Label, W, GALLIC > &w1, const GallicWeight< Label, W, GALLIC > &w2)
 
template<class Label , class W >
GallicWeight< Label, W, GALLIC > fst::Divide (const GallicWeight< Label, W, GALLIC > &w1, const GallicWeight< Label, W, GALLIC > &w2, DivideType divide_type=DIVIDE_ANY)
 

Variables

constexpr int fst::kStringInfinity = -1
 
constexpr int fst::kStringBad = -2
 
constexpr char fst::kStringSeparator = '_'