parse command-line argumentsInstances of this class can be used to parse command-line arguments: users can register new arguments with CommandLine::AddValue but the most important functionality provided by this class is that it can be used to set the 'initial value' of every attribute in the system with the More...
#include <command-line.h>
Classes | |
class | CallbackItem |
class | Item |
class | UserItem |
Public Member Functions | |
CommandLine (const CommandLine &cmd) | |
template<typename T > | |
void | AddValue (const std::string &name, const std::string &help, T &value) |
void | AddValue (const std::string &name, const std::string &help, Callback< bool, std::string > callback) |
CommandLine & | operator= (const CommandLine &cmd) |
void | Parse (int argc, char *argv[]) const |
Private Types | |
typedef std::list< Item * > | Items |
Private Member Functions | |
void | Clear (void) |
void | Copy (const CommandLine &cmd) |
void | HandleArgument (std::string name, std::string value) const |
void | PrintAttributes (std::string type) const |
void | PrintGlobals (void) const |
void | PrintGroup (std::string group) const |
void | PrintGroups (void) const |
void | PrintHelp (void) const |
void | PrintTypeIds (void) const |
Private Attributes | |
Items | m_items |
parse command-line arguments
Instances of this class can be used to parse command-line arguments: users can register new arguments with CommandLine::AddValue but the most important functionality provided by this class is that it can be used to set the 'initial value' of every attribute in the system with the
* --TypeIdName::AttributeName=value *
syntax and it can be used to set the value of every GlobalValue in the system with the
* --GlobalValueName=value *
syntax.
Definition at line 50 of file command-line.h.
void ns3::CommandLine::AddValue | ( | const std::string & | name, |
const std::string & | help, | ||
T & | value | ||
) |
name | the name of the user-supplied argument |
help | some help text used by –PrintHelp |
value | a reference to the variable where the value parsed will be stored (if no value is parsed, this variable is not modified). |
Definition at line 134 of file command-line.h.
Referenced by AodvExample::Configure(), MeshTest::Configure(), CommandLineBooleanTestCase::DoRun(), CommandLineIntTestCase::DoRun(), CommandLineUnsignedIntTestCase::DoRun(), and CommandLineStringTestCase::DoRun().
void ns3::CommandLine::AddValue | ( | const std::string & | name, |
const std::string & | help, | ||
Callback< bool, std::string > | callback | ||
) |
name | the name of the user-supplied argument |
help | some help text used by –PrintHelp |
callback | a callback function that will be invoked to parse and collect the value. This normally used by language bindings. |
Definition at line 323 of file command-line.cc.
References NS_LOG_FUNCTION.
void ns3::CommandLine::Parse | ( | int | argc, |
char * | argv[] | ||
) | const |
argc | the 'argc' variable: number of arguments (including the main program name as first element). |
argv | the 'argv' variable: a null-terminated array of strings, each of which identifies a command-line argument. |
Obviously, this method will parse the input command-line arguments and will attempt to handle them all.
Definition at line 84 of file command-line.cc.
References NS_LOG_FUNCTION.
Referenced by AodvExample::Configure(), and MeshTest::Configure().