1#ifndef COMPOSITEPARAMCREATOR_H
2#define COMPOSITEPARAMCREATOR_H
66 const std::unordered_map<
ParameterType, std::vector<std::string>>& source_names,
88 const std::unordered_set<ParamId>& source_pids,
std::function< void(const BlockSrc &, std::shared_ptr< DependentBlock >)> DepUpdateFunc
Function type used to recompute a DependentBlock from its sources.
Provides static utilities to create, manage, and update dependent blocks and dependent parameters.
Defines parameters whose values are lazily computed from other parameters.
std::function< void(const ParamSrc &, std::shared_ptr< DependentParameter >)> DepParamUpdateFunc
Function signature used to recompute a DependentParameter.
Interface for managing dependencies between blocks and parameters.
Block identifier with alias support.
Concrete implementation of IDependency using DependentBlockManager.
void remove_dependency(const BlockName &name, ParameterType src) override
Removes a dependent block using DependentBlockManager.
void add_param_dependency(const ParamId &pid, const std::unordered_set< ParamId > &source_pids, DepParamUpdateFunc recalculateFunc) override
Adds a dependent parameter using DependentBlockManager.
void update_dependency(const BlockName &name, ParameterType src) override
Manually triggers an update on a dependent block using DependentBlockManager.
void add_block_dependency(const BlockName &name, const std::unordered_map< ParameterType, std::vector< std::string > > &source_names, ParameterType dest, DepUpdateFunc recalculateFunc) override
Adds a dependent block using DependentBlockManager.
Interface for managing dependencies between parameter blocks or parameters.
Composite identifier for a single parameter.