22 #ifndef __PLUMED_core_CLToolRegister_h
23 #define __PLUMED_core_CLToolRegister_h
30 #include "tools/Keywords.h"
46 std::map<std::string,creator_pointer>
m;
48 std::map<std::string,Keywords>
mk;
50 typedef std::map<std::string,creator_pointer>::iterator
mIterator;
62 bool check(std::string cltool);
69 std::vector<std::string>
list()
const;
92 #define PLUMED_REGISTER_CLTOOL(classname,directive) \
93 static class classname##RegisterMe{ \
94 static PLMD::CLTool* create(const PLMD::CLToolOptions&ao){return new classname(ao);} \
96 classname##RegisterMe(){PLMD::cltoolRegister().add(directive,create,classname::registerKeywords);} \
97 ~classname##RegisterMe(){PLMD::cltoolRegister().remove(create);} \
98 } classname##RegisterMeObject;
This class holds the keywords and their documentation.
CLToolRegister & cltoolRegister()
std::ostream & operator<<(std::ostream &log, const ActionRegister &ar)