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 <mutex>`
`#include "fourdst/config/exceptions/exceptions.h"`
`#include "fourdst/config/validate.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 , fourdst::config::MODIFIED }
| 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.