summaryrefslogtreecommitdiff
path: root/decoder/ff_factory.cc
diff options
context:
space:
mode:
authorgraehl <graehl@ec762483-ff6d-05da-a07a-a48fb63a330f>2010-07-08 19:21:02 +0000
committergraehl <graehl@ec762483-ff6d-05da-a07a-a48fb63a330f>2010-07-08 19:21:02 +0000
commit52a8d49e81c14b6f7ed3afb5bdb50b17391995a8 (patch)
tree2cd84e2840204de6fbfaa70be5b2818b9c805b51 /decoder/ff_factory.cc
parent71b39bcf60182d1686966db34225a670d13e3594 (diff)
actually use -n feature_name in LanguageModel. FF factory usage facility, FF feature ids facility (not used yet)
git-svn-id: https://ws10smt.googlecode.com/svn/trunk@186 ec762483-ff6d-05da-a07a-a48fb63a330f
Diffstat (limited to 'decoder/ff_factory.cc')
-rw-r--r--decoder/ff_factory.cc12
1 files changed, 12 insertions, 0 deletions
diff --git a/decoder/ff_factory.cc b/decoder/ff_factory.cc
index 1854e0bb..d66cd883 100644
--- a/decoder/ff_factory.cc
+++ b/decoder/ff_factory.cc
@@ -14,6 +14,13 @@ void FFRegistry::DisplayList() const {
}
}
+string FFRegistry::usage(string const& ffname,bool params,bool verbose) const {
+ map<string, shared_ptr<FFFactoryBase> >::const_iterator it = reg_.find(ffname);
+ return it == reg_.end()
+ ? "Unknown feature " + ffname
+ : it->second->usage(params,verbose);
+}
+
shared_ptr<FeatureFunction> FFRegistry::Create(const string& ffname, const string& param) const {
map<string, shared_ptr<FFFactoryBase> >::const_iterator it = reg_.find(ffname);
shared_ptr<FeatureFunction> res;
@@ -33,3 +40,8 @@ void FFRegistry::Register(const string& ffname, FFFactoryBase* factory) {
reg_[ffname].reset(factory);
}
+
+void FFRegistry::Register(FFFactoryBase* factory)
+{
+ Register(factory->usage(false,false),factory);
+}