ns3::CommandLine Class Reference
[Core]

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 --TypeIdNameAttributeName=value syntax and it can be used to set the value of every GlobalValue in the system with the --GlobalValueName=value syntax. More...

#include <command-line.h>

List of all members.

Classes

class  CallbackItem
class  Item
class  UserItem

Public Member Functions

 ~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)
void Parse (int argc, char *argv[]) const

Private Types

typedef std::list< Item * > Items

Private Member Functions

void HandleArgument (std::string name, std::string value) const
void PrintHelp (void) const
void PrintGlobals (void) const
void PrintAttributes (std::string type) const
void PrintGroup (std::string group) const
void PrintTypeIds (void) const
void PrintGroups (void) const

Private Attributes

Items m_items

Detailed Description

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 --TypeIdNameAttributeName=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 44 of file command-line.h.


Member Typedef Documentation

typedef std::list<Item *> ns3::CommandLine::Items [private]

Definition at line 113 of file command-line.h.


Constructor & Destructor Documentation

ns3::CommandLine::~CommandLine (  ) 

Definition at line 32 of file command-line.cc.

References m_items.


Member Function Documentation

void ns3::CommandLine::AddValue ( const std::string &  name,
const std::string &  help,
Callback< bool, std::string >  callback 
)
Parameters:
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 264 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.

template<typename T >
void ns3::CommandLine::AddValue ( const std::string &  name,
const std::string &  help,
T &  value 
) [inline]
Parameters:
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 123 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 PrintPsrVsCollisionInterval(), and CommandLineTest::RunTests().

void ns3::CommandLine::HandleArgument ( std::string  name,
std::string  value 
) const [private]
void ns3::CommandLine::Parse ( int  argc,
char *  argv[] 
) const
Parameters:
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 45 of file command-line.cc.

References HandleArgument().

Referenced by CommandLineTest::Parse().

void ns3::CommandLine::PrintAttributes ( std::string  type  )  const [private]
void ns3::CommandLine::PrintGlobals ( void   )  const [private]
void ns3::CommandLine::PrintGroup ( std::string  group  )  const [private]
void ns3::CommandLine::PrintGroups ( void   )  const [private]
void ns3::CommandLine::PrintHelp ( void   )  const [private]

Definition at line 87 of file command-line.cc.

References m_items.

Referenced by HandleArgument().

void ns3::CommandLine::PrintTypeIds ( void   )  const [private]

Member Data Documentation

Definition at line 114 of file command-line.h.

Referenced by AddValue(), HandleArgument(), PrintHelp(), and ~CommandLine().


The documentation for this class was generated from the following files:
Generated on Thu Dec 3 14:10:18 2009 for NS-3 by  doxygen 1.6.3