SourceXtractorPlusPlus  0.11
Please provide a description of the project.
Public Types | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | Private Attributes | List of all members
ModelFitting::BasicParameter Class Reference

The parameter base class. More...

#include <BasicParameter.h>

Inheritance diagram for ModelFitting::BasicParameter:
[legend]
Collaboration diagram for ModelFitting::BasicParameter:
[legend]

Public Types

using ParameterObserver = std::function< void(double)>
 

Public Member Functions

virtual ~BasicParameter ()
 
 BasicParameter (const BasicParameter &)=delete
 
BasicParameteroperator= (const BasicParameter &)=delete
 
 BasicParameter (BasicParameter &&)=delete
 
BasicParameteroperator= (BasicParameter &&)=delete
 
virtual double getValue () const
 
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
 

Protected Types

typedef std::function< void(void)> GetValueHook
 

Protected Member Functions

 BasicParameter (const double value)
 
virtual void setValue (const double new_value)
 

Protected Attributes

GetValueHook m_get_value_hook
 
double m_value
 

Private Attributes

std::map< std::size_t, ParameterObserverm_observer_map
 
std::size_t m_last_obs_id = 0
 

Detailed Description

The parameter base class.

Base class that any parameter class must implement (and extend). It includes the parameter value and a list of observers, which are being notified of any value change. The observers can be any function which are being called with new value when it changes.

Definition at line 43 of file BasicParameter.h.

Member Typedef Documentation

◆ GetValueHook

Definition at line 79 of file BasicParameter.h.

◆ ParameterObserver

Definition at line 50 of file BasicParameter.h.

Constructor & Destructor Documentation

◆ ~BasicParameter()

ModelFitting::BasicParameter::~BasicParameter ( )
virtualdefault

◆ BasicParameter() [1/3]

ModelFitting::BasicParameter::BasicParameter ( const BasicParameter )
delete

◆ BasicParameter() [2/3]

ModelFitting::BasicParameter::BasicParameter ( BasicParameter &&  )
delete

◆ BasicParameter() [3/3]

ModelFitting::BasicParameter::BasicParameter ( const double  value)
inlineprotected

Definition at line 83 of file BasicParameter.h.

Member Function Documentation

◆ addObserver()

std::size_t ModelFitting::BasicParameter::addObserver ( ParameterObserver  observer)

The addObserver method adding observer to the member list.

Returns
The key to use for removing an observer

Definition at line 39 of file BasicParameter.cpp.

References std::move().

Here is the call graph for this function:

◆ getValue()

virtual double ModelFitting::BasicParameter::getValue ( ) const
inlinevirtual

◆ isObserved()

bool ModelFitting::BasicParameter::isObserved ( ) const

◆ operator=() [1/2]

BasicParameter& ModelFitting::BasicParameter::operator= ( BasicParameter &&  )
delete

◆ operator=() [2/2]

BasicParameter& ModelFitting::BasicParameter::operator= ( const BasicParameter )
delete

◆ removeObserver()

bool ModelFitting::BasicParameter::removeObserver ( std::size_t  id)

Definition at line 45 of file BasicParameter.cpp.

◆ setValue()

void ModelFitting::BasicParameter::setValue ( const double  new_value)
protectedvirtual

Member Data Documentation

◆ m_get_value_hook

GetValueHook ModelFitting::BasicParameter::m_get_value_hook
protected

Definition at line 81 of file BasicParameter.h.

◆ m_last_obs_id

std::size_t ModelFitting::BasicParameter::m_last_obs_id = 0
private

Definition at line 98 of file BasicParameter.h.

◆ m_observer_map

std::map<std::size_t, ParameterObserver> ModelFitting::BasicParameter::m_observer_map
private

Definition at line 97 of file BasicParameter.h.

◆ m_value

double ModelFitting::BasicParameter::m_value
protected

The documentation for this class was generated from the following files: