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>
Collaboration diagram for ns3::CommandLine:Classes | |
| class | CallbackItem |
| class | Item |
| class | UserItem |
Public Member Functions | |
| CommandLine () | |
| CommandLine (const CommandLine &cmd) | |
| ~CommandLine () | |
| 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.
|
private |
Definition at line 124 of file command-line.h.
| ns3::CommandLine::CommandLine | ( | ) |
Definition at line 35 of file command-line.cc.
References NS_LOG_FUNCTION.
| ns3::CommandLine::CommandLine | ( | const CommandLine & | cmd | ) |
Definition at line 39 of file command-line.cc.
References Copy().
Here is the call graph for this function:| ns3::CommandLine::~CommandLine | ( | ) |
Definition at line 50 of file command-line.cc.
References Clear(), and NS_LOG_FUNCTION.
Here is the call graph for this function:| 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.
References ns3::CommandLine::Item::m_help, m_items, ns3::CommandLine::Item::m_name, and ns3::CommandLine::UserItem< T >::m_valuePtr.
Referenced by AodvExample::Configure(), MeshTest::Configure(), CommandLineBooleanTestCase::DoRun(), CommandLineIntTestCase::DoRun(), CommandLineUnsignedIntTestCase::DoRun(), CommandLineStringTestCase::DoRun(), main(), PrintPsr(), PrintPsrVsCollisionInterval(), PrintPsrVsDistance(), and PrintSizeVsRange().
Here is the caller graph for this function:| 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 ns3::CommandLine::CallbackItem::m_callback, ns3::CommandLine::Item::m_help, m_items, ns3::CommandLine::Item::m_name, and NS_LOG_FUNCTION.
|
private |
Definition at line 67 of file command-line.cc.
References m_items, and NS_LOG_FUNCTION.
Referenced by operator=(), and ~CommandLine().
Here is the caller graph for this function:
|
private |
Definition at line 56 of file command-line.cc.
References m_items, and NS_LOG_FUNCTION.
Referenced by CommandLine(), and operator=().
Here is the caller graph for this function:
|
private |
Definition at line 246 of file command-line.cc.
References m_items, NS_LOG_DEBUG, NS_LOG_FUNCTION, PrintAttributes(), PrintGlobals(), PrintGroup(), PrintGroups(), PrintHelp(), PrintTypeIds(), ns3::Config::SetDefaultFailSafe(), and ns3::Config::SetGlobalFailSafe().
Referenced by Parse().
Here is the call graph for this function:
Here is the caller graph for this function:| CommandLine & ns3::CommandLine::operator= | ( | const CommandLine & | cmd | ) |
Definition at line 44 of file command-line.cc.
References Clear(), and Copy().
Here is the call graph for this 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 HandleArgument(), and NS_LOG_FUNCTION.
Referenced by AodvExample::Configure(), MeshTest::Configure(), main(), and CommandLineTestCaseBase::Parse().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 165 of file command-line.cc.
References ns3::TypeId::AttributeInformation::checker, ns3::TypeId::GetAttribute(), ns3::TypeId::GetAttributeFullName(), ns3::TypeId::GetAttributeN(), ns3::TypeId::AttributeInformation::help, ns3::TypeId::AttributeInformation::initialValue, ns3::TypeId::LookupByNameFailSafe(), NS_FATAL_ERROR, NS_LOG_FUNCTION, and ns3::AttributeValue::SerializeToString().
Referenced by HandleArgument().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 149 of file command-line.cc.
References ns3::GlobalValue::Begin(), ns3::GlobalValue::End(), ns3::StringValue::Get(), and NS_LOG_FUNCTION.
Referenced by HandleArgument().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 185 of file command-line.cc.
References ns3::TypeId::GetGroupName(), ns3::TypeId::GetName(), ns3::TypeId::GetRegistered(), ns3::TypeId::GetRegisteredN(), visualizer.higcontainer::group, and NS_LOG_FUNCTION.
Referenced by HandleArgument().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 212 of file command-line.cc.
References ns3::TypeId::GetGroupName(), ns3::TypeId::GetRegistered(), ns3::TypeId::GetRegisteredN(), visualizer.higcontainer::group, and NS_LOG_FUNCTION.
Referenced by HandleArgument().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 128 of file command-line.cc.
References m_items, and NS_LOG_FUNCTION.
Referenced by HandleArgument().
Here is the caller graph for this function:
|
private |
Definition at line 200 of file command-line.cc.
References ns3::TypeId::GetName(), ns3::TypeId::GetRegistered(), ns3::TypeId::GetRegisteredN(), and NS_LOG_FUNCTION.
Referenced by HandleArgument().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 125 of file command-line.h.
Referenced by AddValue(), Clear(), Copy(), HandleArgument(), and PrintHelp().