This class allows loading and storing values and vectors of different types from ".ini" files easily.
The contents of the file will be modified by "write" operations in memory, and will be saved back to the file at the destructor, and only if at least one write operation has been applied.
Definition at line 28 of file CConfigFile.h.
|
| CConfigFile (const std::string &fileName) |
| Constructor that opens a configuration file. More...
|
|
| CConfigFile () |
| Constructor, does not open any file. More...
|
|
void | setFileName (const std::string &fil_path) |
| Associate this object with the given file, so future read/write operations will be applied to that file (it's synchronized at destruction). More...
|
|
void | writeNow () |
| Dumps the changes to the physical configuration file now, not waiting until destruction. More...
|
|
std::string | getAssociatedFile () const |
| Returns the file currently open by this object. More...
|
|
virtual | ~CConfigFile () |
| Destructor. More...
|
|
virtual void | getAllSections (vector_string §ions) const |
| Returns a list with all the section names. More...
|
|
virtual void | getAllKeys (const std::string §ion, vector_string &keys) const |
| 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" - Exceptions
-
std::exception | If the key name is not found and "failIfNotFound" is true. |
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" - Exceptions
-
std::exception | If the key name is not found and "failIfNotFound" is true. |
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" - Exceptions
-
std::exception | If the key name is not found and "failIfNotFound" is true. |
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" - Exceptions
-
std::exception | If the key name is not found and "failIfNotFound" is true. |
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" - Exceptions
-
std::exception | If the key name is not found and "failIfNotFound" is true. |
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) - Exceptions
-
std::exception | If the key name is not found and "failIfNotFound" is true. |
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 - Exceptions
-
std::exception | If the key name is not found and "failIfNotFound" is true. |
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...
|
|
|
void | write (const std::string §ion, 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 | write (const std::string §ion, 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 | write (const std::string §ion, 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 | write (const std::string §ion, 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 | write (const std::string §ion, 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()) |
|
void | write (const std::string §ion, 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 | write (const std::string §ion, 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 | write (const std::string §ion, 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 | write (const std::string §ion, 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 | write (const std::string §ion, 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 | write (const std::string §ion, 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()) |
|