SimGrid  3.21
Versatile Simulation of Distributed Systems
simgrid::config Namespace Reference

Classes

class  Flag
 A variable bound to a CLI option. More...
 

Functions

template<class T >
std::string to_string (T &&value)
 
std::string const & to_string (std::string &value)
 
std::string const & to_string (std::string const &value)
 
std::string to_string (std::string &&value)
 
template<class T >
void set_default (const char *name, T value)
 
template void set_default< int > (const char *name, int value)
 
template void set_default< double > (const char *name, double value)
 
template void set_default< bool > (const char *name, bool value)
 
template void set_default< std::string > (const char *name, std::string value)
 
bool is_default (const char *name)
 
template<class T >
void set_value (const char *name, T value)
 
template void set_value< int > (const char *name, int value)
 
template void set_value< double > (const char *name, double value)
 
template void set_value< bool > (const char *name, bool value)
 
template void set_value< std::string > (const char *name, std::string value)
 
void set_as_string (const char *name, const std::string &value)
 
void set_parse (std::string options)
 
template<class T >
T const & get_value (std::string name)
 
template int const & get_value< int > (std::string name)
 
template double const & get_value< double > (std::string name)
 
template bool const & get_value< bool > (std::string name)
 
template std::string const & get_value< std::string > (std::string name)
 
template<class T >
void declare_flag (std::string name, std::string description, T value, std::function< void(const T &)> callback=std::function< void(const T &)>())
 Register a configuration flag. More...
 
template void declare_flag (std::string name, std::string description, int value, std::function< void(int const &)> callback)
 
template void declare_flag (std::string name, std::string description, double value, std::function< void(double const &)> callback)
 
template void declare_flag (std::string name, std::string description, bool value, std::function< void(bool const &)> callback)
 
template void declare_flag (std::string name, std::string description, std::string value, std::function< void(std::string const &)> callback)
 
void alias (const char *realname, std::initializer_list< const char *> aliases)
 
template<class T >
void bind_flag (T &value, const char *name, const char *description)
 Bind a variable to configuration flag. More...
 
template<class T >
void bind_flag (T &value, const char *name, std::initializer_list< const char *> aliases, const char *description)
 
template<class T , class F >
std::enable_if< std::is_same< void, decltype(std::declval< F >)(std::declval< const T & >)))>::value, void >::type bind_flag (T &value, const char *name, const char *description, F callback)
 Bind a variable to configuration flag. More...
 
template<class T , class F >
std::enable_if< std::is_same< void, decltype(std::declval< F >)(std::declval< const T & >)))>::value, void >::type bind_flag (T &value, const char *name, std::initializer_list< const char *> aliases, const char *description, F callback)
 
template<class T , class F >
std::enable_if< std::is_same< void, decltype(std::declval< F >)(std::declval< const T & >)))>::value, void >::type bind_flag (T &value, const char *name, const char *description, std::map< T, std::string > valid_values, F callback)
 
template<class T , class F >
std::enable_if< std::is_same< void, decltype(std::declval< F >)(std::declval< const T & >)))>::value, void >::type bind_flag (T &value, const char *name, std::initializer_list< const char *> aliases, const char *description, std::map< T, std::string > valid_values, F callback)
 
template<class T , class F >
std::enable_if< std::is_same< bool, decltype(std::declval< F >)(std::declval< const T & >)))>::value, void >::type bind_flag (T &value, const char *name, const char *description, F callback)
 Bind a variable to configuration flag. More...
 
void finalize ()
 
void show_aliases ()
 
void help ()
 

Function Documentation

◆ to_string() [1/4]

template<class T >
std::string simgrid::config::to_string ( T &&  value)
inline

◆ to_string() [2/4]

std::string const& simgrid::config::to_string ( std::string &  value)
inline

◆ to_string() [3/4]

std::string const& simgrid::config::to_string ( std::string const &  value)
inline

◆ to_string() [4/4]

std::string simgrid::config::to_string ( std::string &&  value)
inline

◆ set_default()

template<class T >
void simgrid::config::set_default ( const char *  name,
value 
)

◆ set_default< int >()

template void simgrid::config::set_default< int > ( const char *  name,
int  value 
)

◆ set_default< double >()

template void simgrid::config::set_default< double > ( const char *  name,
double  value 
)

◆ set_default< bool >()

template void simgrid::config::set_default< bool > ( const char *  name,
bool  value 
)

◆ set_default< std::string >()

template void simgrid::config::set_default< std::string > ( const char *  name,
std::string  value 
)

◆ is_default()

bool simgrid::config::is_default ( const char *  name)

◆ set_value()

template<class T >
void simgrid::config::set_value ( const char *  name,
value 
)

◆ set_value< int >()

template void simgrid::config::set_value< int > ( const char *  name,
int  value 
)

◆ set_value< double >()

template void simgrid::config::set_value< double > ( const char *  name,
double  value 
)

◆ set_value< bool >()

template void simgrid::config::set_value< bool > ( const char *  name,
bool  value 
)

◆ set_value< std::string >()

template void simgrid::config::set_value< std::string > ( const char *  name,
std::string  value 
)

◆ set_as_string()

void simgrid::config::set_as_string ( const char *  name,
const std::string &  value 
)

◆ set_parse()

void simgrid::config::set_parse ( std::string  options)

◆ get_value()

template<class T >
T const& simgrid::config::get_value ( std::string  name)

◆ get_value< int >()

template int const& simgrid::config::get_value< int > ( std::string  name)

◆ get_value< double >()

template double const& simgrid::config::get_value< double > ( std::string  name)

◆ get_value< bool >()

template bool const& simgrid::config::get_value< bool > ( std::string  name)

◆ get_value< std::string >()

template std::string const& simgrid::config::get_value< std::string > ( std::string  name)

◆ declare_flag() [1/5]

template<class T >
void simgrid::config::declare_flag ( std::string  name,
std::string  description,
value,
std::function< void(const T &)>  callback = std::function< void(const T &)>() 
)

Register a configuration flag.

Parameters
namename of the option
descriptionDescription of the option
valueInitial/default value
callbackcalled with the option value

◆ declare_flag() [2/5]

template void simgrid::config::declare_flag ( std::string  name,
std::string  description,
int  value,
std::function< void(int const &)>  callback 
)

◆ declare_flag() [3/5]

template void simgrid::config::declare_flag ( std::string  name,
std::string  description,
double  value,
std::function< void(double const &)>  callback 
)

◆ declare_flag() [4/5]

template void simgrid::config::declare_flag ( std::string  name,
std::string  description,
bool  value,
std::function< void(bool const &)>  callback 
)

◆ declare_flag() [5/5]

template void simgrid::config::declare_flag ( std::string  name,
std::string  description,
std::string  value,
std::function< void(std::string const &)>  callback 
)

◆ alias()

void simgrid::config::alias ( const char *  realname,
std::initializer_list< const char *>  aliases 
)

◆ bind_flag() [1/7]

template<class T >
void simgrid::config::bind_flag ( T &  value,
const char *  name,
const char *  description 
)

Bind a variable to configuration flag.

Parameters
valueBound variable
nameFlag name
descriptionOption description

◆ bind_flag() [2/7]

template<class T >
void simgrid::config::bind_flag ( T &  value,
const char *  name,
std::initializer_list< const char *>  aliases,
const char *  description 
)

◆ bind_flag() [3/7]

template<class T , class F >
std::enable_if<std::is_same<void, decltype(std::declval<F>)(std::declval<const T&>)))>::value, void>::type simgrid::config::bind_flag ( T &  value,
const char *  name,
const char *  description,
callback 
)

Bind a variable to configuration flag.


static int x;
simgrid::config::bind_flag(a, "x", [](int x) {
  if (x < x_min || x => x_max)
    throw std::range_error("must be in [x_min, x_max)")
});

◆ bind_flag() [4/7]

template<class T , class F >
std::enable_if<std::is_same<void, decltype(std::declval<F>)(std::declval<const T&>)))>::value, void>::type simgrid::config::bind_flag ( T &  value,
const char *  name,
std::initializer_list< const char *>  aliases,
const char *  description,
callback 
)

◆ bind_flag() [5/7]

template<class T , class F >
std::enable_if<std::is_same<void, decltype(std::declval<F>)(std::declval<const T&>)))>::value, void>::type simgrid::config::bind_flag ( T &  value,
const char *  name,
const char *  description,
std::map< T, std::string >  valid_values,
callback 
)

◆ bind_flag() [6/7]

template<class T , class F >
std::enable_if<std::is_same<void, decltype(std::declval<F>)(std::declval<const T&>)))>::value, void>::type simgrid::config::bind_flag ( T &  value,
const char *  name,
std::initializer_list< const char *>  aliases,
const char *  description,
std::map< T, std::string >  valid_values,
callback 
)

◆ bind_flag() [7/7]

template<class T , class F >
std::enable_if<std::is_same<bool, decltype(std::declval<F>)(std::declval<const T&>)))>::value, void>::type simgrid::config::bind_flag ( T &  value,
const char *  name,
const char *  description,
callback 
)

Bind a variable to configuration flag.


static int x;
simgrid::config::bind_flag(a, "x", [](int x) { return x > 0; });

◆ finalize()

◆ show_aliases()

void simgrid::config::show_aliases ( )

◆ help()

void simgrid::config::help ( )