FastMM documentation
FastMM C++ API 0.6.0
Public headers, tier 1 and tier 2
Loading...
Searching...
No Matches
schema.hpp File Reference

Declarative config schema (8.7): every known key with its section, type and whether it is required. More...

#include <cstddef>
#include <span>
#include <string_view>

Go to the source code of this file.

Classes

struct  fastmm::KeySpec
 

Namespaces

namespace  fastmm
 

Enumerations

enum class  fastmm::KeyType : unsigned char {
  fastmm::String , fastmm::Int , fastmm::Float , fastmm::Bool ,
  fastmm::IntArray , fastmm::StringArray , fastmm::Table , fastmm::Any
}
 

Functions

std::span< const KeySpec > fastmm::config_schema () noexcept
 

Variables

constexpr KeySpec fastmm::kConfigSchema []
 

Detailed Description

Declarative config schema (8.7): every known key with its section, type and whether it is required.

config.cpp validates the parsed TOML against this table and reports errors with line numbers; an unknown key is an error too, so a misspelled or renamed key never leaves the real one at its default. Sections "sim", "backtest" and "storage" are free-form (owned by the sim, backtest and store libraries), and a [venues.<name>] key this table does not list belongs to the connector its kind names: the venue declares, validates and documents it (include/fastmm/venues/registry.hpp).

The doc strings are the key tables of docs/reference/configuration.md (python3 tools/docs_config_ref.py regenerates them): say what the key does, its unit and its default.