FastMM documentation
FastMM C++ API 0.6.0
Public headers, tier 1 and tier 2
Loading...
Searching...
No Matches
fastmm::StrategyBase< Params > Class Template Reference

#include <fastmm/strategies/strategy.hpp>

Public Types

using params_type = Params
 

Public Member Functions

std::optional< std::string > configure (const ParamMap &m)
 Applies string parameters, then runs validate() const when the params struct declares one.
 
const Params & params () const noexcept
 Read-only: parameters change through configure() and apply_param_update().
 
void apply_param_update (const ParamUpdateMsg &m) noexcept
 Engine thread: assigns the (field, raw value) pairs of a ParamUpdateMsg, which the publisher validated (strategies/param_publisher.hpp).
 
std::string describe_params () const
 

Static Public Member Functions

static const ParamSchema & schema ()
 

Member Typedef Documentation

◆ params_type

template<class Params >
using fastmm::StrategyBase< Params >::params_type = Params

Member Function Documentation

◆ schema()

template<class Params >
static const ParamSchema & fastmm::StrategyBase< Params >::schema ( )
inlinestatic

◆ configure()

template<class Params >
std::optional< std::string > fastmm::StrategyBase< Params >::configure ( const ParamMap &  m)
inline

Applies string parameters, then runs validate() const when the params struct declares one.

Returns the first error message; the parameters are unchanged then (startup only).

◆ params()

template<class Params >
const Params & fastmm::StrategyBase< Params >::params ( ) const
inlinenoexcept

Read-only: parameters change through configure() and apply_param_update().

◆ apply_param_update()

template<class Params >
void fastmm::StrategyBase< Params >::apply_param_update ( const ParamUpdateMsg &  m)
inlinenoexcept

Engine thread: assigns the (field, raw value) pairs of a ParamUpdateMsg, which the publisher validated (strategies/param_publisher.hpp).

A StrategyBase keeps one parameter set for every instrument, so the message's instrument is not used; a field outside the schema is skipped.

◆ describe_params()

template<class Params >
std::string fastmm::StrategyBase< Params >::describe_params ( ) const
inline