claw 1.9.0
 
Loading...
Searching...
No Matches
claw::arguments Class Reference

A class to manage the arguments of your program. More...

#include <arguments.hpp>

Public Member Functions

 arguments ()
 Constructor.
 
 arguments (const std::string &prog_name)
 Constructor.
 
 arguments (int &argc, char **&argv)
 Constructor.
 
 arguments (int &argc, char **&argv, const claw::math::ordered_set< std::string > &allowed)
 Constructor.
 
void parse (int &argc, char **&argv)
 Parse arguments.
 
void parse (int &argc, char **&argv, const claw::math::ordered_set< std::string > &allowed)
 Parse arguments.
 
bool has_value (const std::string &arg_name) const
 Tell if a value is associated to an argument.
 
bool only_integer_values (const std::string &arg_name) const
 Tell if only integer values are associated to an argument.
 
bool only_real_values (const std::string &arg_name) const
 Tell if only real values are associated to an argument.
 
const std::string & get_program_name () const
 Get the name of the program.
 
bool get_bool (const std::string &arg_name) const
 Get the boolean state of an argument.
 
int get_integer (const std::string &arg_name) const
 Get the integer value of an argument.
 
double get_real (const std::string &arg_name) const
 Get the real value of an argument.
 
const std::string & get_string (const std::string &arg_name) const
 Get the string value of an argument.
 
std::list< int > get_all_of_integer (const std::string &arg_name) const
 Get all integer values of an argument.
 
std::list< double > get_all_of_real (const std::string &arg_name) const
 Get all real values of an argument.
 
std::list< std::string > get_all_of_string (const std::string &arg_name) const
 Get all string values of an argument.
 
void add_argument (const std::string &arg)
 Add an argument in our list.
 

Detailed Description

A class to manage the arguments of your program.

This class will handle all arguments of type -l[=val] or –long[=val].

Remarks
None of those methods is allowed to use claw::logger because when we are processing the arguments, we are at the really begining of the program and claw::logger is probably not initialised.
Author
Julien Jorge

Definition at line 51 of file arguments.hpp.

Constructor & Destructor Documentation

◆ arguments() [1/4]

claw::arguments::arguments ( )

Constructor.

Definition at line 41 of file arguments.cpp.

◆ arguments() [2/4]

claw::arguments::arguments ( const std::string & prog_name)
explicit

Constructor.

Parameters
prog_nameForce the name of the program.

Definition at line 49 of file arguments.cpp.

◆ arguments() [3/4]

claw::arguments::arguments ( int & argc,
char **& argv )

Constructor.

Parameters
argcNumber of arguments.
argvArguments.

You should construct an instance with the parameters given to your function main(). The constructor will remove all supported arguments from argv.

Definition at line 61 of file arguments.cpp.

◆ arguments() [4/4]

claw::arguments::arguments ( int & argc,
char **& argv,
const claw::math::ordered_set< std::string > & allowed )

Constructor.

Parameters
argcNumber of arguments.
argvArguments.
allowedThe set of allowed arguments.

You should construct an instance with the parameters given to your function main(). The constructor will remove all supported arguments from argv.

Definition at line 75 of file arguments.cpp.

Member Function Documentation

◆ add_argument()

void claw::arguments::add_argument ( const std::string & arg)

Add an argument in our list.

You can use this method to set default values to the parameters of your program, before calling parse_arguments.

Parameters
argThe argument to add.
Precondition
(arg != "--") && (arg[0] == '-')

Definition at line 304 of file arguments.cpp.

◆ get_all_of_integer()

std::list< int > claw::arguments::get_all_of_integer ( const std::string & arg_name) const

Get all integer values of an argument.

Parameters
arg_nameThe name of the argument to get.

Definition at line 230 of file arguments.cpp.

◆ get_all_of_real()

std::list< double > claw::arguments::get_all_of_real ( const std::string & arg_name) const

Get all real values of an argument.

Parameters
arg_nameThe name of the argument to get.

Definition at line 257 of file arguments.cpp.

◆ get_all_of_string()

std::list< std::string > claw::arguments::get_all_of_string ( const std::string & arg_name) const

Get all string values of an argument.

Parameters
arg_nameThe name of the argument to get.

Definition at line 284 of file arguments.cpp.

◆ get_bool()

bool claw::arguments::get_bool ( const std::string & arg_name) const

Get the boolean state of an argument.

Parameters
arg_nameThe name of the argument to get.

Definition at line 172 of file arguments.cpp.

◆ get_integer()

int claw::arguments::get_integer ( const std::string & arg_name) const

Get the integer value of an argument.

Parameters
arg_nameThe name of the argument to get.
Precondition
has_value(arg_name)

Definition at line 182 of file arguments.cpp.

◆ get_program_name()

const std::string & claw::arguments::get_program_name ( ) const

Get the name of the program.

Definition at line 163 of file arguments.cpp.

◆ get_real()

double claw::arguments::get_real ( const std::string & arg_name) const

Get the real value of an argument.

Parameters
arg_nameThe name of the argument to get.
Precondition
has_value(arg_name)

Definition at line 199 of file arguments.cpp.

◆ get_string()

const std::string & claw::arguments::get_string ( const std::string & arg_name) const

Get the string value of an argument.

Parameters
arg_nameThe name of the argument to get.
Precondition
has_value(arg_name)

Definition at line 217 of file arguments.cpp.

◆ has_value()

bool claw::arguments::has_value ( const std::string & arg_name) const

Tell if a value is associated to an argument.

Parameters
arg_nameThe name of the argument to test.

Definition at line 113 of file arguments.cpp.

◆ only_integer_values()

bool claw::arguments::only_integer_values ( const std::string & arg_name) const

Tell if only integer values are associated to an argument.

Parameters
arg_nameThe name of the argument to test.

Definition at line 122 of file arguments.cpp.

◆ only_real_values()

bool claw::arguments::only_real_values ( const std::string & arg_name) const

Tell if only real values are associated to an argument.

Parameters
arg_nameThe name of the argument to test.

Definition at line 143 of file arguments.cpp.

◆ parse() [1/2]

void claw::arguments::parse ( int & argc,
char **& argv )

Parse arguments.

Parameters
argcNumber of arguments.
argvArguments.

All supported arguments will be removed from argv.

Definition at line 89 of file arguments.cpp.

◆ parse() [2/2]

void claw::arguments::parse ( int & argc,
char **& argv,
const claw::math::ordered_set< std::string > & allowed )

Parse arguments.

Parameters
argcNumber of arguments.
argvArguments.
allowedThe set of allowed arguments.

All supported arguments will be removed from argv.

Definition at line 102 of file arguments.cpp.


The documentation for this class was generated from the following files: