This class allows loading and storing values and vectors of different types from a configuration text, which can be implemented as a ".ini" file, a memory-stored string, etc...
This is a virtual class, use only as a pointer to an implementation of one of the derived classes.
Definition at line 30 of file CConfigFileBase.h.
#include <mrpt/utils/CConfigFileBase.h>
Public Member Functions | |
virtual | ~CConfigFileBase () |
Virtual destructor... More... | |
virtual void | getAllSections (vector_string §ions) const =0 |
Returns a list with all the section names. More... | |
virtual void | getAllKeys (const std::string §ion, vector_string &keys) const =0 |
Returs a list with all the keys into a section. More... | |
bool | sectionExists (const std::string §ion_name) const |
Checks if a given section exists (name is case insensitive) More... | |
double | read_double (const std::string §ion, const std::string &name, double defaultValue, bool failIfNotFound=false) const |
Reads a configuration parameter of type "double". More... | |
float | read_float (const std::string §ion, const std::string &name, float defaultValue, bool failIfNotFound=false) const |
Reads a configuration parameter of type "float". More... | |
bool | read_bool (const std::string §ion, const std::string &name, bool defaultValue, bool failIfNotFound=false) const |
Reads a configuration parameter of type "bool", codified as "1"/"0" or "true"/"false" or "yes"/"no" for true/false, repectively. More... | |
int | read_int (const std::string §ion, const std::string &name, int defaultValue, bool failIfNotFound=false) const |
Reads a configuration parameter of type "int". More... | |
uint64_t | read_uint64_t (const std::string §ion, const std::string &name, uint64_t defaultValue, bool failIfNotFound=false) const |
Reads a configuration parameter of type "uint64_t": As in all other methods, the numeric value can be in decimal or hexadecimal with the prefix "0x". More... | |
std::string | read_string (const std::string §ion, const std::string &name, const std::string &defaultValue, bool failIfNotFound=false) const |
Reads a configuration parameter of type "string". More... | |
std::string | read_string_first_word (const std::string §ion, const std::string &name, const std::string &defaultValue, bool failIfNotFound=false) const |
Reads a configuration parameter of type "string", and keeps only the first word (this can be used to eliminate possible comments at the end of the line) More... | |
template<class VECTOR_TYPE > | |
void | read_vector (const std::string §ion, const std::string &name, const VECTOR_TYPE &defaultValue, VECTOR_TYPE &outValues, bool failIfNotFound=false) const |
Reads a configuration parameter of type vector, stored in the file as a string: "[v1 v2 v3 ... ]", where spaces could also be commas. More... | |
template<class MATRIX_TYPE > | |
void | read_matrix (const std::string §ion, const std::string &name, MATRIX_TYPE &outMatrix, const MATRIX_TYPE &defaultMatrix=MATRIX_TYPE(), bool failIfNotFound=false) const |
Reads a configuration parameter as a matrix written in a matlab-like format - for example: "[2 3 4 ; 7 8 9]" This template method can be instantiated for matrices of the types: int, long, unsinged int, unsigned long, float, double, long double. More... | |
template<typename ENUMTYPE > | |
ENUMTYPE | read_enum (const std::string §ion, const std::string &name, const ENUMTYPE &defaultValue, bool failIfNotFound=false) const |
Reads an "enum" value, where the value in the config file can be either a numerical value or the symbolic name, for example: In the code: More... | |
Protected Member Functions | |
virtual void | writeString (const std::string §ion, const std::string &name, const std::string &str)=0 |
A virtual method to write a generic string. More... | |
void | writeString (const std::string §ion, const std::string &name, const std::string &str, const int name_padding_width, const int value_padding_width, const std::string &comment) |
Write a generic string with optional padding and a comment field ("// ...") at the end of the line. More... | |
virtual std::string | readString (const std::string §ion, const std::string &name, const std::string &defaultStr, bool failIfNotFound=false) const =0 |
A virtual method to read a generic string. More... | |
Friends | |
class | CConfigFilePrefixer |
|
inlinevirtual |
Virtual destructor...
Definition at line 53 of file CConfigFileBase.h.
|
pure virtual |
Returs a list with all the keys into a section.
Implemented in mrpt::utils::CConfigFileMemory, mrpt::utils::CConfigFile, and mrpt::utils::CConfigFilePrefixer.
|
pure virtual |
Returns a list with all the section names.
Implemented in mrpt::utils::CConfigFileMemory, mrpt::utils::CConfigFile, and mrpt::utils::CConfigFilePrefixer.
bool mrpt::utils::CConfigFileBase::read_bool | ( | const std::string & | section, |
const std::string & | name, | ||
bool | defaultValue, | ||
bool | failIfNotFound = false |
||
) | const |
Reads a configuration parameter of type "bool", codified as "1"/"0" or "true"/"false" or "yes"/"no" for true/false, repectively.
std::exception | If the key name is not found and "failIfNotFound" is true. Otherwise the "defaultValue" is returned. |
Referenced by mrpt::pbmap::config_heuristics::load_params().
double mrpt::utils::CConfigFileBase::read_double | ( | const std::string & | section, |
const std::string & | name, | ||
double | defaultValue, | ||
bool | failIfNotFound = false |
||
) | const |
Reads a configuration parameter of type "double".
std::exception | If the key name is not found and "failIfNotFound" is true. Otherwise the "defaultValue" is returned. |
|
inline |
Reads an "enum" value, where the value in the config file can be either a numerical value or the symbolic name, for example: In the code:
In the config file:
Which can be loaded with:
Definition at line 194 of file CConfigFileBase.h.
References mrpt::format(), MRPT_END, MRPT_START, mrpt::utils::TEnumType< ENUMTYPE >::name2value(), and THROW_EXCEPTION.
float mrpt::utils::CConfigFileBase::read_float | ( | const std::string & | section, |
const std::string & | name, | ||
float | defaultValue, | ||
bool | failIfNotFound = false |
||
) | const |
Reads a configuration parameter of type "float".
std::exception | If the key name is not found and "failIfNotFound" is true. Otherwise the "defaultValue" is returned. |
Referenced by mrpt::pbmap::config_heuristics::load_params().
int mrpt::utils::CConfigFileBase::read_int | ( | const std::string & | section, |
const std::string & | name, | ||
int | defaultValue, | ||
bool | failIfNotFound = false |
||
) | const |
Reads a configuration parameter of type "int".
std::exception | If the key name is not found and "failIfNotFound" is true. Otherwise the "defaultValue" is returned. |
Referenced by mrpt::pbmap::config_heuristics::load_params().
|
inline |
Reads a configuration parameter as a matrix written in a matlab-like format - for example: "[2 3 4 ; 7 8 9]" This template method can be instantiated for matrices of the types: int, long, unsinged int, unsigned long, float, double, long double.
std::exception | If the key name is not found and "failIfNotFound" is true. Otherwise the "defaultValue" is returned. |
Definition at line 157 of file CConfigFileBase.h.
References THROW_EXCEPTION_CUSTOM_MSG1.
std::string mrpt::utils::CConfigFileBase::read_string | ( | const std::string & | section, |
const std::string & | name, | ||
const std::string & | defaultValue, | ||
bool | failIfNotFound = false |
||
) | const |
Reads a configuration parameter of type "string".
std::exception | If the key name is not found and "failIfNotFound" is true. Otherwise the "defaultValue" is returned. |
Referenced by mrpt::pbmap::config_heuristics::load_params().
std::string mrpt::utils::CConfigFileBase::read_string_first_word | ( | const std::string & | section, |
const std::string & | name, | ||
const std::string & | defaultValue, | ||
bool | failIfNotFound = false |
||
) | const |
Reads a configuration parameter of type "string", and keeps only the first word (this can be used to eliminate possible comments at the end of the line)
std::exception | If the key name is not found and "failIfNotFound" is true. Otherwise the "defaultValue" is returned. |
uint64_t mrpt::utils::CConfigFileBase::read_uint64_t | ( | const std::string & | section, |
const std::string & | name, | ||
uint64_t | defaultValue, | ||
bool | failIfNotFound = false |
||
) | const |
Reads a configuration parameter of type "uint64_t": As in all other methods, the numeric value can be in decimal or hexadecimal with the prefix "0x".
std::exception | If the key name is not found and "failIfNotFound" is true. Otherwise the "defaultValue" is returned. |
|
inline |
Reads a configuration parameter of type vector, stored in the file as a string: "[v1 v2 v3 ... ]", where spaces could also be commas.
std::exception | If the key name is not found and "failIfNotFound" is true. Otherwise the "defaultValue" is returned. |
Definition at line 122 of file CConfigFileBase.h.
References mrpt::system::tokenize().
|
protectedpure virtual |
A virtual method to read a generic string.
std::exception | If the key name is not found and "failIfNotFound" is true. Otherwise the "defaultValue" is returned. |
Implemented in mrpt::utils::CConfigFilePrefixer, mrpt::utils::CConfigFile, and mrpt::utils::CConfigFileMemory.
bool mrpt::utils::CConfigFileBase::sectionExists | ( | const std::string & | section_name | ) | const |
Checks if a given section exists (name is case insensitive)
void mrpt::utils::CConfigFileBase::write | ( | const std::string & | section, |
const std::string & | name, | ||
const std::string & | value, | ||
const int | name_padding_width = -1 , |
||
const int | value_padding_width = -1 , |
||
const std::string & | comment = std::string() |
||
) |
void mrpt::utils::CConfigFileBase::write | ( | const std::string & | section, |
const std::string & | name, | ||
const std::vector< bool > & | value, | ||
const int | name_padding_width = -1 , |
||
const int | value_padding_width = -1 , |
||
const std::string & | comment = std::string() |
||
) |
void mrpt::utils::CConfigFileBase::write | ( | const std::string & | section, |
const std::string & | name, | ||
const std::vector< double > & | value, | ||
const int | name_padding_width = -1 , |
||
const int | value_padding_width = -1 , |
||
const std::string & | comment = std::string() |
||
) |
void mrpt::utils::CConfigFileBase::write | ( | const std::string & | section, |
const std::string & | name, | ||
const std::vector< float > & | value, | ||
const int | name_padding_width = -1 , |
||
const int | value_padding_width = -1 , |
||
const std::string & | comment = std::string() |
||
) |
void mrpt::utils::CConfigFileBase::write | ( | const std::string & | section, |
const std::string & | name, | ||
const std::vector< int > & | value, | ||
const int | name_padding_width = -1 , |
||
const int | value_padding_width = -1 , |
||
const std::string & | comment = std::string() |
||
) |
void mrpt::utils::CConfigFileBase::write | ( | const std::string & | section, |
const std::string & | name, | ||
const std::vector< unsigned int > & | value, | ||
const int | name_padding_width = -1 , |
||
const int | value_padding_width = -1 , |
||
const std::string & | comment = std::string() |
||
) |
void mrpt::utils::CConfigFileBase::write | ( | const std::string & | section, |
const std::string & | name, | ||
double | value, | ||
const int | name_padding_width = -1 , |
||
const int | value_padding_width = -1 , |
||
const std::string & | comment = std::string() |
||
) |
void mrpt::utils::CConfigFileBase::write | ( | const std::string & | section, |
const std::string & | name, | ||
float | value, | ||
const int | name_padding_width = -1 , |
||
const int | value_padding_width = -1 , |
||
const std::string & | comment = std::string() |
||
) |
void mrpt::utils::CConfigFileBase::write | ( | const std::string & | section, |
const std::string & | name, | ||
int | value, | ||
const int | name_padding_width = -1 , |
||
const int | value_padding_width = -1 , |
||
const std::string & | comment = std::string() |
||
) |
void mrpt::utils::CConfigFileBase::write | ( | const std::string & | section, |
const std::string & | name, | ||
uint32_t | value, | ||
const int | name_padding_width = -1 , |
||
const int | value_padding_width = -1 , |
||
const std::string & | comment = std::string() |
||
) |
void mrpt::utils::CConfigFileBase::write | ( | const std::string & | section, |
const std::string & | name, | ||
uint64_t | value, | ||
const int | name_padding_width = -1 , |
||
const int | value_padding_width = -1 , |
||
const std::string & | comment = std::string() |
||
) |
|
protectedpure virtual |
A virtual method to write a generic string.
Implemented in mrpt::utils::CConfigFilePrefixer, mrpt::utils::CConfigFile, and mrpt::utils::CConfigFileMemory.
|
protected |
Write a generic string with optional padding and a comment field ("// ...") at the end of the line.
|
friend |
Definition at line 32 of file CConfigFileBase.h.
Page generated by Doxygen 1.8.17 for MRPT 1.4.0 SVN: at Sat Jan 18 22:37:07 UTC 2020 |