This class holds the keywords and their documentation. More...
#include <Keywords.h>
Classes | |
class | KeyType |
This class lets me pass keyword types easily. More... | |
Public Member Functions | |
Keywords () | |
Constructor. More... | |
void | isDriver () |
bool | getLogicalDefault (std::string key, bool &def) const |
find out whether flag key is on or off by default. More... | |
bool | getDefaultValue (std::string key, std::string &def) const |
Get the value of the default for the keyword named key. More... | |
unsigned | size () const |
Return the number of defined keywords. More... | |
bool | numbered (const std::string &k) const |
Check if numbered keywords are allowed for this action. More... | |
std::string | getKeyword (const unsigned i) const |
Return the ith keyword. More... | |
void | print (Log &log) const |
Print the documentation to the log file (used by PLMD::Action::error) More... | |
void | print (FILE *out) const |
Print the documentation to a file (use by PLUMED::CLTool::readCommandLineArgs) More... | |
void | reserve (const std::string &t, const std::string &k, const std::string &d, const bool isvessel=false) |
Reserve a keyword. More... | |
void | reserveFlag (const std::string &k, const bool def, const std::string &d, const bool isvessel=false) |
Reserve a flag. More... | |
void | use (const std::string &k) |
Use one of the reserved keywords. More... | |
std::string | get (const unsigned k) const |
Get the ith keyword. More... | |
void | add (const std::string &t, const std::string &k, const std::string &d) |
Add a new keyword of type t with name k and description d. More... | |
void | add (const std::string &t, const std::string &k, const std::string &def, const std::string &d) |
Add a new compulsory keyword (t must equal compulsory) with name k, default value def and description d. More... | |
void | addFlag (const std::string &k, const bool def, const std::string &d) |
Add a falg with name k that is by default on if def is true and off if def is false. d should provide a description of the flag. More... | |
void | remove (const std::string &k) |
Remove the keyword with name k. More... | |
bool | exists (const std::string &k) const |
Check if there is a keyword with name k. More... | |
bool | reserved (const std::string &k) const |
Check the keyword k has been reserved. More... | |
bool | style (const std::string &k, const std::string &t) const |
Check if the keyword with name k has style t. More... | |
void | print_html () const |
Print an html version of the documentation. More... | |
void | print_template (const std::string &actionname, bool include_optional) const |
Print the template version for the documenation. More... | |
void | reset_style (const std::string &k, const std::string &style) |
Change the style of a keyword. More... | |
void | add (const Keywords &keys) |
Add keywords from one keyword object to another. More... | |
void | copyData (std::vector< std::string > &kk, std::vector< std::string > &rk, std::map< std::string, KeyType > &tt, std::map< std::string, bool > &am, std::map< std::string, std::string > &docs, std::map< std::string, bool > &bools, std::map< std::string, std::string > &nums, std::map< std::string, std::string > &atags, std::vector< std::string > &cnam, std::map< std::string, std::string > &ck, std::map< std::string, std::string > &cd) const |
Copy the keywords data. More... | |
void | destroyData () |
Clear everything from the keywords object. More... | |
void | setComponentsIntroduction (const std::string &instr) |
Set the text that introduces how the components for this action are introduced. More... | |
void | addOutputComponent (const std::string &name, const std::string &key, const std::string &descr) |
Add a potential component which can be output by this particular action. More... | |
bool | outputComponentExists (const std::string &name, const bool &custom) const |
Has a component with this name been added? More... | |
Private Member Functions | |
void | print_html_item (const std::string &) const |
Print the documentation for the jth keyword in html. More... | |
void | printKeyword (const std::string &j, Log &log) const |
Print a particular keyword. More... | |
void | printKeyword (const std::string &j, FILE *out) const |
Print a particular keyword (copy of the above that works with files) More... | |
Private Attributes | |
bool | isaction |
Is this an action or driver (this bool affects what style==atoms does in print) More... | |
std::vector< std::string > | keys |
The names of the allowed keywords. More... | |
std::vector< std::string > | reserved_keys |
The names of the reserved keywords. More... | |
std::map< std::string, KeyType > | types |
Whether the keyword is compulsory, optional... More... | |
std::map< std::string, bool > | allowmultiple |
Do we allow stuff like key1, key2 etc. More... | |
std::map< std::string, std::string > | documentation |
The documentation for the keywords. More... | |
std::map< std::string, bool > | booldefs |
The default values for the flags (are they on or of) More... | |
std::map< std::string, std::string > | numdefs |
The default values (if there are default values) for compulsory keywords. More... | |
std::map< std::string, std::string > | atomtags |
The tags for atoms - we use this so the manual can differentiate between different ways of specifying atoms. More... | |
std::string | cstring |
The string that should be printed out to describe how the components work for this particular action. More... | |
std::vector< std::string > | cnames |
The names of all the possible components for an action. More... | |
std::map< std::string, std::string > | ckey |
The keyword that turns on a particular component. More... | |
std::map< std::string, std::string > | cdocs |
The documentation for a particular component. More... | |
Friends | |
class | Action |
This class holds the keywords and their documentation.
|
inline |
Constructor.
void PLMD::Keywords::add | ( | const std::string & | t, |
const std::string & | k, | ||
const std::string & | d | ||
) |
Add a new keyword of type t with name k and description d.
void PLMD::Keywords::add | ( | const std::string & | t, |
const std::string & | k, | ||
const std::string & | def, | ||
const std::string & | d | ||
) |
Add a new compulsory keyword (t must equal compulsory) with name k, default value def and description d.
void PLMD::Keywords::add | ( | const Keywords & | keys | ) |
Add keywords from one keyword object to another.
void PLMD::Keywords::addFlag | ( | const std::string & | k, |
const bool | def, | ||
const std::string & | d | ||
) |
Add a falg with name k that is by default on if def is true and off if def is false. d should provide a description of the flag.
void PLMD::Keywords::addOutputComponent | ( | const std::string & | name, |
const std::string & | key, | ||
const std::string & | descr | ||
) |
Add a potential component which can be output by this particular action.
void PLMD::Keywords::copyData | ( | std::vector< std::string > & | kk, |
std::vector< std::string > & | rk, | ||
std::map< std::string, KeyType > & | tt, | ||
std::map< std::string, bool > & | am, | ||
std::map< std::string, std::string > & | docs, | ||
std::map< std::string, bool > & | bools, | ||
std::map< std::string, std::string > & | nums, | ||
std::map< std::string, std::string > & | atags, | ||
std::vector< std::string > & | cnam, | ||
std::map< std::string, std::string > & | ck, | ||
std::map< std::string, std::string > & | cd | ||
) | const |
Copy the keywords data.
void PLMD::Keywords::destroyData | ( | ) |
Clear everything from the keywords object.
bool PLMD::Keywords::exists | ( | const std::string & | k | ) | const |
Check if there is a keyword with name k.
std::string PLMD::Keywords::get | ( | const unsigned | k | ) | const |
Get the ith keyword.
bool PLMD::Keywords::getDefaultValue | ( | std::string | key, |
std::string & | def | ||
) | const |
Get the value of the default for the keyword named key.
std::string PLMD::Keywords::getKeyword | ( | const unsigned | i | ) | const |
Return the ith keyword.
bool PLMD::Keywords::getLogicalDefault | ( | std::string | key, |
bool & | def | ||
) | const |
find out whether flag key is on or off by default.
|
inline |
bool PLMD::Keywords::numbered | ( | const std::string & | k | ) | const |
Check if numbered keywords are allowed for this action.
bool PLMD::Keywords::outputComponentExists | ( | const std::string & | name, |
const bool & | custom | ||
) | const |
Has a component with this name been added?
void PLMD::Keywords::print | ( | Log & | log | ) | const |
Print the documentation to the log file (used by PLMD::Action::error)
void PLMD::Keywords::print | ( | FILE * | out | ) | const |
Print the documentation to a file (use by PLUMED::CLTool::readCommandLineArgs)
void PLMD::Keywords::print_html | ( | ) | const |
Print an html version of the documentation.
|
private |
Print the documentation for the jth keyword in html.
void PLMD::Keywords::print_template | ( | const std::string & | actionname, |
bool | include_optional | ||
) | const |
Print the template version for the documenation.
|
private |
Print a particular keyword.
|
private |
Print a particular keyword (copy of the above that works with files)
void PLMD::Keywords::remove | ( | const std::string & | k | ) |
Remove the keyword with name k.
void PLMD::Keywords::reserve | ( | const std::string & | t, |
const std::string & | k, | ||
const std::string & | d, | ||
const bool | isvessel = false |
||
) |
Reserve a keyword.
bool PLMD::Keywords::reserved | ( | const std::string & | k | ) | const |
Check the keyword k has been reserved.
void PLMD::Keywords::reserveFlag | ( | const std::string & | k, |
const bool | def, | ||
const std::string & | d, | ||
const bool | isvessel = false |
||
) |
Reserve a flag.
void PLMD::Keywords::reset_style | ( | const std::string & | k, |
const std::string & | style | ||
) |
Change the style of a keyword.
void PLMD::Keywords::setComponentsIntroduction | ( | const std::string & | instr | ) |
Set the text that introduces how the components for this action are introduced.
unsigned PLMD::Keywords::size | ( | ) | const |
Return the number of defined keywords.
bool PLMD::Keywords::style | ( | const std::string & | k, |
const std::string & | t | ||
) | const |
Check if the keyword with name k has style t.
void PLMD::Keywords::use | ( | const std::string & | k | ) |
Use one of the reserved keywords.
|
friend |
|
private |
Do we allow stuff like key1, key2 etc.
|
private |
The tags for atoms - we use this so the manual can differentiate between different ways of specifying atoms.
|
private |
The default values for the flags (are they on or of)
|
private |
The documentation for a particular component.
|
private |
The keyword that turns on a particular component.
|
private |
The names of all the possible components for an action.
|
private |
The string that should be printed out to describe how the components work for this particular action.
|
private |
The documentation for the keywords.
|
private |
Is this an action or driver (this bool affects what style==atoms does in print)
|
private |
The names of the allowed keywords.
|
private |
The default values (if there are default values) for compulsory keywords.
|
private |
The names of the reserved keywords.
|
private |
Whether the keyword is compulsory, optional...
Hosted by GitHub | 1.8.10 |