sisi4s
Loading...
Searching...
No Matches
CLI::ConfigBase Class Reference

This converter works with INI/TOML files; to write INI files use ConfigINI. More...

#include <CLI11.hpp>

Inheritance diagram for CLI::ConfigBase:
Collaboration diagram for CLI::ConfigBase:

Public Member Functions

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< ConfigItemfrom_config (std::istream &input) const override
 Convert a configuration into an app.
 
ConfigBasecomment (char cchar)
 Specify the configuration for comment characters.
 
ConfigBasearrayBounds (char aStart, char aEnd)
 Specify the start and end characters for an array.
 
ConfigBasearrayDelimiter (char aSep)
 Specify the delimiter character for an array.
 
ConfigBasevalueSeparator (char vSep)
 Specify the delimiter between a name and value.
 
ConfigBasequoteCharacter (char qString, char qChar)
 Specify the quote characters used around strings and characters.
 
ConfigBasemaxLayers (uint8_t layers)
 Specify the maximum number of parents.
 
ConfigBaseparentSeparator (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
 
ConfigBasesection (const std::string &sectionName)
 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
 
ConfigBaseindex (int16_t sectionIndex)
 specify a particular index in the section to use (-1) for all sections to use
 
- Public Member Functions inherited from CLI::Config
virtual std::string to_config (const App *, bool, bool, std::string) const =0
 Convert an app into a configuration.
 
virtual std::vector< ConfigItemfrom_config (std::istream &) const =0
 Convert a configuration into an app.
 
virtual std::string to_flag (const ConfigItem &item) const
 Get a flag value.
 
std::vector< ConfigItemfrom_file (const std::string &name)
 Parse a config file, throw an error (ParseError:ConfigParseError or FileError) on failure.
 
virtual ~Config ()=default
 Virtual destructor.
 

Protected Attributes

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.
 
- Protected Attributes inherited from CLI::Config
std::vector< ConfigItemitems {}
 

Detailed Description

This converter works with INI/TOML files; to write INI files use ConfigINI.

Member Function Documentation

◆ 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.

Here is the call graph for this function:

◆ index() [1/2]

int16_t CLI::ConfigBase::index ( ) const
inline

get the section index

◆ 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

get the section

◆ 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.

Here is the call graph for this function:

◆ valueSeparator()

ConfigBase * CLI::ConfigBase::valueSeparator ( char  vSep)
inline

Specify the delimiter between a name and value.

Member Data Documentation

◆ 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 file: