CLI11  2.1.2
Public Member Functions | Protected Attributes | List of all members
CLI::ConfigBase Class Reference

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

#include <ConfigFwd.hpp>

Inheritance diagram for CLI::ConfigBase:
CLI::Config CLI::ConfigINI

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. More...
 
std::vector< ConfigItem > from_config (std::istream &input) const override
 Convert a configuration into an app. More...
 
ConfigBase * comment (char cchar)
 Specify the configuration for comment characters. More...
 
ConfigBase * arrayBounds (char aStart, char aEnd)
 Specify the start and end characters for an array. More...
 
ConfigBase * arrayDelimiter (char aSep)
 Specify the delimiter character for an array. More...
 
ConfigBase * valueSeparator (char vSep)
 Specify the delimiter between a name and value. More...
 
ConfigBase * quoteCharacter (char qString, char qChar)
 Specify the quote characters used around strings and characters. More...
 
ConfigBase * maxLayers (uint8_t layers)
 Specify the maximum number of parents. More...
 
ConfigBase * parentSeparator (char sep)
 Specify the separator to use for parent layers. More...
 
std::string & sectionRef ()
 get a reference to the configuration section More...
 
const std::string & section () const
 get the section More...
 
ConfigBase * section (const std::string &sectionName)
 specify a particular section of the configuration file to use More...
 
int16_t & indexRef ()
 get a reference to the configuration index More...
 
int16_t index () const
 get the section index More...
 
ConfigBase * index (int16_t sectionIndex)
 specify a particular index in the section to use (-1) for all sections to use More...
 
- Public Member Functions inherited from CLI::Config
virtual std::string to_flag (const ConfigItem &item) const
 Get a flag value. More...
 
std::vector< ConfigItem > from_file (const std::string &name)
 Parse a config file, throw an error (ParseError:ConfigParseError or FileError) on failure. More...
 
virtual ~Config ()=default
 Virtual destructor. More...
 

Protected Attributes

char commentChar = '#'
 the character used for comments More...
 
char arrayStart = '['
 the character used to start an array '\0' is a default to not use More...
 
char arrayEnd = ']'
 the character used to end an array '\0' is a default to not use More...
 
char arraySeparator = ','
 the character used to separate elements in an array More...
 
char valueDelimiter = '='
 the character used separate the name from the value More...
 
char stringQuote = '"'
 the character to use around strings More...
 
char characterQuote = '\''
 the character to use around single characters More...
 
uint8_t maximumLayers {255}
 the maximum number of layers to allow More...
 
char parentSeparatorChar {'.'}
 the separator used to separator parent layers More...
 
int16_t configIndex {-1}
 Specify the configuration index to use for arrayed sections. More...
 
std::string configSection {}
 Specify the configuration section that should be used. More...
 
- Protected Attributes inherited from CLI::Config
std::vector< ConfigItem > items {}
 

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.

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

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