|
FastMM C++ API 0.6.0
Public headers, tier 1 and tier 2
|
Strategy registry (8.6, ADR-0012): name -> parameter schema + one factory per transport kind, each producing an IEngineRunner. More...
#include "fastmm/core/engine_config.hpp"#include "fastmm/core/engine_runner.hpp"#include "fastmm/core/instrument.hpp"#include "fastmm/core/msg_ring.hpp"#include "fastmm/strategies/param_publisher.hpp"#include "fastmm/strategies/params.hpp"#include "fastmm/strategies/strategy.hpp"#include <array>#include <cstddef>#include <cstdint>#include <memory>#include <string_view>#include <vector>Go to the source code of this file.
Classes | |
| struct | fastmm::RunnerDeps |
| Everything a factory needs that is backend-independent. More... | |
| struct | fastmm::StrategyEntry |
| class | fastmm::StrategyRegistry |
Namespaces | |
| namespace | fastmm |
Enumerations | |
| enum class | fastmm::TransportKind : std::uint8_t { fastmm::Sim = 0 , fastmm::Live = 1 , fastmm::Replay = 2 , fastmm::Count = 3 } |
| enum class | fastmm::AddResult : std::uint8_t { fastmm::Added , fastmm::AlreadyPresent , fastmm::Conflict , fastmm::Invalid } |
Functions | |
| constexpr std::string_view | fastmm::to_string (TransportKind k) noexcept |
| constexpr std::string_view | fastmm::to_string (AddResult r) noexcept |
| const std::vector< StrategyEntry > & | fastmm::list_strategies () |
Variables | |
| constexpr std::size_t | fastmm::kTransportKinds = static_cast<std::size_t>(TransportKind::Count) |
Strategy registry (8.6, ADR-0012): name -> parameter schema + one factory per transport kind, each producing an IEngineRunner.
Strategies are added by a registration function (strategies/module.hpp):
void mm::register_strategies(fastmm::StrategyRegistry& r) { fastmm::register_strategy<mm::MicropriceMM>(r); // Sim + Replay + Live factories }
Nothing registers itself: apps pass their registration functions to fastmm::cli::live / backtest / replay, and the built-in strategies come from fastmm::register_builtin_strategies(). This header does not parse the Engine template; make_engine_runner<S>() lives in strategies/engine_factory.hpp.