20 #ifndef FST_PROJECT_H_ 21 #define FST_PROJECT_H_ 46 : project_type_(project_type) {}
51 return ToArc(label, label, arc.weight, arc.nextstate);
87 switch (project_type) {
101 switch (project_type) {
165 :
public ArcIterator<ArcMapFst<A, A, ProjectMapper<A>>> {
178 #endif // FST_PROJECT_H_
typename A::StateId StateId
void ArcMap(MutableFst< A > *fst, C *mapper)
constexpr ProjectType PROJECT_INPUT
ToArc operator()(const FromArc &arc) const
const SymbolTable * InputSymbols() const override=0
virtual void SetInputSymbols(const SymbolTable *isyms)=0
ProjectFst * Copy(bool safe=false) const override
constexpr MapFinalAction FinalAction() const
const SymbolTable * OutputSymbols() const override=0
constexpr ProjectType PROJECT_OUTPUT
ProjectFst(const ProjectFst &fst, bool safe=false)
constexpr ProjectMapper(ProjectType project_type)
constexpr MapSymbolsAction OutputSymbolsAction() const
void Project(const Fst< Arc > &ifst, MutableFst< Arc > *ofst, ProjectType project_type)
virtual const SymbolTable * InputSymbols() const =0
StateIterator(const ProjectFst< A > &fst)
constexpr MapSymbolsAction InputSymbolsAction() const
uint64_t ProjectProperties(uint64_t inprops, bool project_input)
virtual void SetOutputSymbols(const SymbolTable *osyms)=0
class OPENFST_DEPRECATED("Use SymbolTable::iterator, a C++ compliant iterator, instead") SymbolTableIterator
ProjectFst(const Fst< A > &fst, ProjectType project_type)
ArcIterator(const ProjectFst< A > &fst, StateId s)
constexpr uint64_t Properties(uint64_t props) const
virtual const SymbolTable * OutputSymbols() const =0