peary::config::ConfigParser

Simple parser class for TOML-like configurations consisting of sections indicated by […] and key-value pairs. More…

#include <peary/config/configuration.hpp>

Public Functions

Name
ConfigParser() =default
ConfigParser(const std::string & path)Parse from a configuration file via its path.
ConfigParser(std::istream & file)Parse configuration from a file stream.
bool HasSection(const std::string & section) constCheck if this parser has a specific configuration.
Configuration GetConfig(const std::string & section) constObtain a configuration identified by the section name.
Configuration GetMainConfig() constObtain the main configuration section, which is identified by an empty section name.
std::map< std::string, Configuration > GetAllConfigs() constObtain all parsed configuration objects.
void Save(std::ostream & file) constStore current configurations into a file.
std::vector< std::string > GetSections() constGet all available section names.

Detailed Description

  class peary::config::ConfigParser;
  

Simple parser class for TOML-like configurations consisting of sections indicated by […] and key-value pairs.

Each section is stored in a separate Configuration object and can be obtained via its section name.

Public Functions Documentation

function ConfigParser

  ConfigParser() =default
  

Default constructor

function ConfigParser

  explicit ConfigParser(
    const std::string & path
)
  

Parse from a configuration file via its path.

Parameters:

  • path Path to the configuration file

function ConfigParser

  explicit ConfigParser(
    std::istream & file
)
  

Parse configuration from a file stream.

Parameters:

  • file File stream to read configuration from

function HasSection

  bool HasSection(
    const std::string & section
) const
  

Check if this parser has a specific configuration.

Parameters:

  • section Section to look for

Return: True if section exists, false otherwise

function GetConfig

  Configuration GetConfig(
    const std::string & section
) const
  

Obtain a configuration identified by the section name.

Parameters:

  • section Section name to look for in the configuration file

Exceptions:

  • InvalidSection if no such section was found

Return: Configuration object for this section

function GetMainConfig

  Configuration GetMainConfig() const
  

Obtain the main configuration section, which is identified by an empty section name.

Return: Configuration object for the main configuration

If no main configuration was found, an empty Configuration object is returned

function GetAllConfigs

  inline std::map< std::string, Configuration > GetAllConfigs() const
  

Obtain all parsed configuration objects.

Return: Map with all configurations and their section names as keys

function Save

  void Save(
    std::ostream & file
) const
  

Store current configurations into a file.

Parameters:

  • file Target file stream to write to

function GetSections

  std::vector< std::string > GetSections() const
  

Get all available section names.

Return: Vector of section names


Updated on 2025-11-14 at 11:31:23 +0100