/* * FeatureFunctions.h * * Created on: 27 Oct 2015 * Author: hieu */ #ifndef FEATUREFUNCTIONS_H_ #define FEATUREFUNCTIONS_H_ #include #include #include "moses/Parameter.h" class System; class FeatureFunction; class StatefulFeatureFunction; class PhraseTable; class FeatureFunctions { public: FeatureFunctions(System &system); virtual ~FeatureFunctions(); const std::vector &GetPhraseTables() const { return m_phraseTables; } const std::vector &GetStatefulFeatureFunctions() const { return m_statefulFeatureFunctions; } size_t GetNumScores() const { return m_ffStartInd; } void LoadFeatureFunctions(); const FeatureFunction &FindFeatureFunction(const std::string &name); protected: std::vector m_featureFunctions; std::vector m_statefulFeatureFunctions; std::vector m_phraseTables; System &m_system; size_t m_ffStartInd; FeatureFunction *Create(const std::string &line); }; #endif /* FEATUREFUNCTIONS_H_ */