SourceXtractorPlusPlus
0.10
Please provide a description of the project.
|
Implementation of a parameter depending on an arbitrary number of other parameters. More...
#include <DependentParameter.h>
Public Types | |
using | ValueCalculator = std::function< double(decltype(std::declval< Parameters >() ->getValue())...)> |
![]() | |
using | ParameterObserver = std::function< void(double)> |
Public Member Functions | |
DependentParameter (ValueCalculator calculator, Parameters... parameters) | |
virtual | ~DependentParameter ()=default |
double | getValue () const override |
![]() | |
virtual | ~BasicParameter () |
BasicParameter (const BasicParameter &)=delete | |
BasicParameter & | operator= (const BasicParameter &)=delete |
BasicParameter (BasicParameter &&)=delete | |
BasicParameter & | operator= (BasicParameter &&)=delete |
std::size_t | addObserver (ParameterObserver observer) |
The addObserver method adding observer to the member list. More... | |
bool | removeObserver (std::size_t id) |
bool | isObserved () const |
Static Public Attributes | |
static constexpr int | PARAM_NO = sizeof...(Parameters) |
Private Member Functions | |
template<typename First , typename ... Rest> | |
void | inputParameterLoop (First &first, Rest &... rest) |
template<typename Last > | |
void | inputParameterLoop (Last &last) |
template<typename... ParamValues> | |
void | update (ParamValues... values) |
void | update (decltype(std::declval< Parameters >() ->getValue())... values) |
template<typename Param > | |
void | addParameterObserver (int i, Param ¶m) |
Private Attributes | |
std::shared_ptr< ValueCalculator > | m_calculator |
function to calculate the dependent parameter value More... | |
std::shared_ptr< std::array< std::shared_ptr< BasicParameter >, PARAM_NO > > | m_params |
Additional Inherited Members | |
![]() | |
typedef std::function< void(void)> | GetValueHook |
![]() | |
BasicParameter (const double value) | |
virtual void | setValue (const double new_value) |
![]() | |
GetValueHook | m_get_value_hook |
double | m_value |
Implementation of a parameter depending on an arbitrary number of other parameters.
Variadic template implementation of a parameter depending on an arbitrary number of other parameters. A dependent parameter cannot be copied, but only moved.
DependentParameter creation should be achieved using the factory method createDependentParameter(...) provide after the end of this class.
Definition at line 48 of file DependentParameter.h.
using ModelFitting::DependentParameter< Parameters >::ValueCalculator = std::function<double(decltype(std::declval<Parameters>()->getValue())...)> |
Definition at line 54 of file DependentParameter.h.
|
inline |
This constructor take a function which is used to compute the dependent parameter value as a function of input parameter values.
Definition at line 60 of file DependentParameter.h.
|
virtualdefault |
|
inlineprivate |
Definition at line 120 of file DependentParameter.h.
Referenced by ModelFitting::DependentParameter< ModelFitting::EngineParameter >::inputParameterLoop().
|
inlineoverridevirtual |
Reimplemented from ModelFitting::BasicParameter.
Definition at line 70 of file DependentParameter.h.
Referenced by ModelFitting::DependentParameter< ModelFitting::EngineParameter >::addParameterObserver().
|
inlineprivate |
Definition at line 91 of file DependentParameter.h.
Referenced by ModelFitting::DependentParameter< ModelFitting::EngineParameter >::inputParameterLoop().
|
inlineprivate |
Definition at line 97 of file DependentParameter.h.
|
inlineprivate |
Definition at line 112 of file DependentParameter.h.
|
inlineprivate |
Definition at line 108 of file DependentParameter.h.
Referenced by ModelFitting::DependentParameter< ModelFitting::EngineParameter >::addParameterObserver(), ModelFitting::DependentParameter< ModelFitting::EngineParameter >::getValue(), and ModelFitting::DependentParameter< ModelFitting::EngineParameter >::update().
|
private |
function to calculate the dependent parameter value
Definition at line 80 of file DependentParameter.h.
Referenced by ModelFitting::DependentParameter< ModelFitting::EngineParameter >::update().
|
private |
Definition at line 83 of file DependentParameter.h.
Referenced by ModelFitting::DependentParameter< ModelFitting::EngineParameter >::getValue(), and ModelFitting::DependentParameter< ModelFitting::EngineParameter >::update().
|
staticconstexpr |
Definition at line 52 of file DependentParameter.h.
Referenced by ModelFitting::DependentParameter< ModelFitting::EngineParameter >::inputParameterLoop().