libconfig v2.1.0
Reflection based C++ configuration library
Loading...
Searching...
No Matches
base.h File Reference

Core configuration management classes and concepts. More...

#include <filesystem>
#include <string>
#include <map>
#include <format>
#include <vector>
#include <string_view>
#include <type_traits>
#include "fourdst/config/exceptions/exceptions.h"
#include "rfl.hpp"
#include "rfl/toml.hpp"
#include "rfl/json.hpp"
Include dependency graph for base.h:
This graph shows which files directly or indirectly include this file:

Classes

class  fourdst::config::Config< T >
 Wrapper class for managing strongly-typed configuration structures. More...
 
struct  std::formatter< fourdst::config::Config< T >, CharT >
 Formatter specialization for Config<T> to allow easy printing. More...
 

Namespaces

namespace  fourdst
 
namespace  fourdst::config
 

Concepts

concept  fourdst::config::IsConfigSchema
 Concept ensuring a type is suitable for configuration schema.
 

Enumerations

enum class  fourdst::config::RootNameLoadPolicy { fourdst::config::FROM_FILE , fourdst::config::KEEP_CURRENT }
 Policies for handling the root name during configuration loading. More...
 
enum class  fourdst::config::ConfigState { fourdst::config::DEFAULT , fourdst::config::LOADED_FROM_FILE }
 Represents the current state of a Config object. More...
 

Detailed Description

Core configuration management classes and concepts.

This file defines the Config template class which serves as the primary interface for managing typed configuration structures. It handles serialization (save), deserialization (load), and schema generation using the reflect-cpp library.