template<IsSetting... Settings>
class cppfig::ConfigSchema< Settings >
Configuration schema holding all setting types.
This class acts as a compile-time registry for all configuration settings. It ensures path uniqueness at compile time and provides type-safe access to setting information.
Usage:
struct AppName {
static constexpr std::string_view path = "app.name";
using value_type = std::string;
static auto default_value() -> std::string { return "MyApp"; }
};
struct AppPort {
static constexpr std::string_view path = "app.port";
using value_type = int;
static auto default_value() -> int { return 8080; }
};
using MySchema = ConfigSchema<AppName, AppPort>;
- Template Parameters
-
| Settings | The setting types to include in the schema. |