Main MRPT website > C++ reference for MRPT 1.9.9
List of all members | Public Types | Public Member Functions | Public Attributes
mrpt::system::TParameters< T > Struct Template Reference

Detailed Description

template<typename T>
struct mrpt::system::TParameters< T >

For usage when passing a dynamic number of (numeric) arguments to a function, by name.

TParameters<double> p; // or TParametersDouble
p["v_max"] = 1.0; // Write
...
cout << p["w_max"]; // Read, even if "p" was const.

A default list of parameters can be passed to the constructor as a sequence of pairs "name, value", which MUST end in a nullptr name string. Names MUST BE "const char*" (that is, "old plain strings" are OK), not std::string objects!. See this example:

TParameters<double> p("par1",2.0, "par2",-4.5, "par3",9.0, nullptr); //
MUST end with a NULL

VERY IMPORTANT: If you use the NULL-ended constructor above, make sure all the values are of the proper type or it will crash in runtime. For example, in a TParametersDouble all values must be double's, so if you type "10" the compiler will make it an "int". Instead, write "10.0".

See also
the example in MRPT/samples/params-by-name

Definition at line 56 of file TParameters.h.

#include <mrpt/system/TParameters.h>

Inheritance diagram for mrpt::system::TParameters< T >:
Inheritance graph

Public Types

using BASE = std::map< std::string, T >
 

Public Member Functions

 TParameters ()
 Default constructor (initializes empty) More...
 
 TParameters (const char *nam1,...)
 Constructor with a list of initial values (see the description and use example in mrpt::system::TParameters) More...
 
bool has (const std::string &s) const
 
operator[] (const std::string &s) const
 A const version of the [] operator, for usage as read-only. More...
 
getWithDefaultVal (const std::string &s, const T &defaultVal) const
 A const version of the [] operator and with a default value in case the parameter is not set (for usage as read-only). More...
 
T & operator[] (const std::string &s)
 The write (non-const) version of the [] operator. More...
 
void dumpToConsole () const
 Dumps to console the output from getAsString() More...
 
std::string getAsString () const
 Returns a multi-line string representation of the parameters like : 'nam = val\nnam2 = val2...'. More...
 
void getAsString (std::string &s) const
 Returns a multi-line string representation of the parameters like : 'nam = val\nnam2 = val2...'. More...
 

Public Attributes

keys
 STL member. More...
 
elements
 STL member. More...
 

Member Typedef Documentation

◆ BASE

template<typename T >
using mrpt::system::TParameters< T >::BASE = std::map<std::string, T>

Definition at line 58 of file TParameters.h.

Constructor & Destructor Documentation

◆ TParameters() [1/2]

template<typename T >
mrpt::system::TParameters< T >::TParameters ( )
inline

Default constructor (initializes empty)

Definition at line 60 of file TParameters.h.

◆ TParameters() [2/2]

template<typename T >
mrpt::system::TParameters< T >::TParameters ( const char *  nam1,
  ... 
)
inline

Constructor with a list of initial values (see the description and use example in mrpt::system::TParameters)

Definition at line 63 of file TParameters.h.

Member Function Documentation

◆ dumpToConsole()

template<typename T >
void mrpt::system::TParameters< T >::dumpToConsole ( ) const
inline

Dumps to console the output from getAsString()

Definition at line 116 of file TParameters.h.

◆ getAsString() [1/2]

template<typename T >
std::string mrpt::system::TParameters< T >::getAsString ( ) const
inline

Returns a multi-line string representation of the parameters like : 'nam = val\nnam2 = val2...'.

Definition at line 123 of file TParameters.h.

Referenced by mrpt::system::TParameters< double >::dumpToConsole(), and mrpt::system::TParameters< double >::getAsString().

◆ getAsString() [2/2]

template<typename T >
void mrpt::system::TParameters< T >::getAsString ( std::string s) const
inline

Returns a multi-line string representation of the parameters like : 'nam = val\nnam2 = val2...'.

Definition at line 132 of file TParameters.h.

◆ getWithDefaultVal()

template<typename T >
T mrpt::system::TParameters< T >::getWithDefaultVal ( const std::string s,
const T &  defaultVal 
) const
inline

◆ has()

template<typename T >
bool mrpt::system::TParameters< T >::has ( const std::string s) const
inline

Definition at line 85 of file TParameters.h.

Referenced by mrpt::comms::net::http_request().

◆ operator[]() [1/2]

template<typename T >
T& mrpt::system::TParameters< T >::operator[] ( const std::string s)
inline

The write (non-const) version of the [] operator.

Definition at line 114 of file TParameters.h.

◆ operator[]() [2/2]

template<typename T >
T mrpt::system::TParameters< T >::operator[] ( const std::string s) const
inline

A const version of the [] operator, for usage as read-only.

Exceptions
std::logic_errorOn parameter not present. Please, check existence with "has" before reading.

Definition at line 93 of file TParameters.h.

Member Data Documentation

◆ elements

T std::map< K, T >::elements
inherited

STL member.

◆ keys

K std::map< K, T >::keys
inherited

STL member.

end
GLuint GLuint end
Definition: glext.h:3528
p
GLfloat GLfloat p
Definition: glext.h:6305
a
GLubyte GLubyte GLubyte a
Definition: glext.h:6279



Page generated by Doxygen 1.8.17 for MRPT 1.9.9 Git: ad3a9d8ae Tue May 1 23:10:22 2018 -0700 at miƩ 12 jul 2023 10:03:34 CEST