#pragma once #include "moses/PP/PhraseProperty.h" #include #include #include namespace Moses { class PhrasePropertyCreator; class PhrasePropertyFactory { public: PhrasePropertyFactory(); ~PhrasePropertyFactory(); boost::shared_ptr ProduceProperty(const std::string &key, const std::string &value) const; void PrintPP() const; private: void Add(const std::string &name, PhrasePropertyCreator *creator); typedef boost::unordered_map > Registry; Registry m_registry; }; } // namespace Moses