This converter works with INI/TOML files; to write INI files use ConfigINI.
More...
#include <ConfigFwd.hpp>
|
std::string | to_config (const App *, bool default_also, bool write_description, std::string prefix) const override |
| Convert an app into a configuration.
|
|
std::vector< ConfigItem > | from_config (std::istream &input) const override |
| Convert a configuration into an app.
|
|
ConfigBase * | comment (char cchar) |
| Specify the configuration for comment characters.
|
|
ConfigBase * | arrayBounds (char aStart, char aEnd) |
| Specify the start and end characters for an array.
|
|
ConfigBase * | arrayDelimiter (char aSep) |
| Specify the delimiter character for an array.
|
|
ConfigBase * | valueSeparator (char vSep) |
| Specify the delimiter between a name and value.
|
|
ConfigBase * | quoteCharacter (char qString, char qChar) |
| Specify the quote characters used around strings and characters.
|
|
ConfigBase * | maxLayers (uint8_t layers) |
| Specify the maximum number of parents.
|
|
ConfigBase * | parentSeparator (char sep) |
| Specify the separator to use for parent layers.
|
|
std::string & | sectionRef () |
| get a reference to the configuration section
|
|
const std::string & | section () const |
| get the section
|
|
ConfigBase * | section (const std::string §ionName) |
| specify a particular section of the configuration file to use
|
|
int16_t & | indexRef () |
| get a reference to the configuration index
|
|
int16_t | index () const |
| get the section index
|
|
ConfigBase * | index (int16_t sectionIndex) |
| specify a particular index in the section to use (-1) for all sections to use
|
|
virtual std::string | to_flag (const ConfigItem &item) const |
| Get a flag value.
|
|
std::vector< ConfigItem > | from_file (const std::string &name) |
| Parse a config file, throw an error (ParseError:ConfigParseError or FileError) on failure.
|
|
virtual | ~Config ()=default |
| Virtual destructor.
|
|
|
char | commentChar = '#' |
| the character used for comments
|
|
char | arrayStart = '[' |
| the character used to start an array '\0' is a default to not use
|
|
char | arrayEnd = ']' |
| the character used to end an array '\0' is a default to not use
|
|
char | arraySeparator = ',' |
| the character used to separate elements in an array
|
|
char | valueDelimiter = '=' |
| the character used separate the name from the value
|
|
char | stringQuote = '"' |
| the character to use around strings
|
|
char | characterQuote = '\'' |
| the character to use around single characters
|
|
uint8_t | maximumLayers {255} |
| the maximum number of layers to allow
|
|
char | parentSeparatorChar {'.'} |
| the separator used to separator parent layers
|
|
int16_t | configIndex {-1} |
| Specify the configuration index to use for arrayed sections.
|
|
std::string | configSection {} |
| Specify the configuration section that should be used.
|
|
std::vector< ConfigItem > | items {} |
|
This converter works with INI/TOML files; to write INI files use ConfigINI.
◆ arrayBounds()
ConfigBase * CLI::ConfigBase::arrayBounds |
( |
char | aStart, |
|
|
char | aEnd ) |
|
inline |
Specify the start and end characters for an array.
◆ arrayDelimiter()
ConfigBase * CLI::ConfigBase::arrayDelimiter |
( |
char | aSep | ) |
|
|
inline |
Specify the delimiter character for an array.
◆ comment()
ConfigBase * CLI::ConfigBase::comment |
( |
char | cchar | ) |
|
|
inline |
Specify the configuration for comment characters.
◆ from_config()
std::vector< ConfigItem > CLI::ConfigBase::from_config |
( |
std::istream & | | ) |
const |
|
inlineoverridevirtual |
Convert a configuration into an app.
Implements CLI::Config.
◆ index() [1/2]
int16_t CLI::ConfigBase::index |
( |
| ) |
const |
|
inline |
◆ index() [2/2]
ConfigBase * CLI::ConfigBase::index |
( |
int16_t | sectionIndex | ) |
|
|
inline |
specify a particular index in the section to use (-1) for all sections to use
◆ indexRef()
int16_t & CLI::ConfigBase::indexRef |
( |
| ) |
|
|
inline |
get a reference to the configuration index
◆ maxLayers()
ConfigBase * CLI::ConfigBase::maxLayers |
( |
uint8_t | layers | ) |
|
|
inline |
Specify the maximum number of parents.
◆ parentSeparator()
ConfigBase * CLI::ConfigBase::parentSeparator |
( |
char | sep | ) |
|
|
inline |
Specify the separator to use for parent layers.
◆ quoteCharacter()
ConfigBase * CLI::ConfigBase::quoteCharacter |
( |
char | qString, |
|
|
char | qChar ) |
|
inline |
Specify the quote characters used around strings and characters.
◆ section() [1/2]
const std::string & CLI::ConfigBase::section |
( |
| ) |
const |
|
inline |
◆ section() [2/2]
ConfigBase * CLI::ConfigBase::section |
( |
const std::string & | sectionName | ) |
|
|
inline |
specify a particular section of the configuration file to use
◆ sectionRef()
std::string & CLI::ConfigBase::sectionRef |
( |
| ) |
|
|
inline |
get a reference to the configuration section
◆ to_config()
std::string CLI::ConfigBase::to_config |
( |
const App * | , |
|
|
bool | , |
|
|
bool | , |
|
|
std::string | ) const |
|
inlineoverridevirtual |
Convert an app into a configuration.
Implements CLI::Config.
◆ valueSeparator()
ConfigBase * CLI::ConfigBase::valueSeparator |
( |
char | vSep | ) |
|
|
inline |
Specify the delimiter between a name and value.
◆ arrayEnd
char CLI::ConfigBase::arrayEnd = ']' |
|
protected |
the character used to end an array '\0' is a default to not use
◆ arraySeparator
char CLI::ConfigBase::arraySeparator = ',' |
|
protected |
the character used to separate elements in an array
◆ arrayStart
char CLI::ConfigBase::arrayStart = '[' |
|
protected |
the character used to start an array '\0' is a default to not use
◆ characterQuote
char CLI::ConfigBase::characterQuote = '\'' |
|
protected |
the character to use around single characters
◆ commentChar
char CLI::ConfigBase::commentChar = '#' |
|
protected |
the character used for comments
◆ configIndex
int16_t CLI::ConfigBase::configIndex {-1} |
|
protected |
Specify the configuration index to use for arrayed sections.
◆ configSection
std::string CLI::ConfigBase::configSection {} |
|
protected |
Specify the configuration section that should be used.
◆ maximumLayers
uint8_t CLI::ConfigBase::maximumLayers {255} |
|
protected |
the maximum number of layers to allow
◆ parentSeparatorChar
char CLI::ConfigBase::parentSeparatorChar {'.'} |
|
protected |
the separator used to separator parent layers
◆ stringQuote
char CLI::ConfigBase::stringQuote = '"' |
|
protected |
the character to use around strings
◆ valueDelimiter
char CLI::ConfigBase::valueDelimiter = '=' |
|
protected |
the character used separate the name from the value
The documentation for this class was generated from the following files: