41 #ifndef BPP_NUMERIC_ABSTRACTPARAMETRIZABLE_H
42 #define BPP_NUMERIC_ABSTRACTPARAMETRIZABLE_H
114 std::unique_ptr< std::vector<size_t> > updatedParameters(
new std::vector<size_t>());
A partial implementation of the Parametrizable interface.
ParameterList & getParameters_()
Get all parameters available.
virtual void shareParameters_(const ParameterList ¶meters)
void setParametersValues(const ParameterList ¶meters)
Update the parameters from parameters.
virtual ~AbstractParametrizable()
virtual void addParameter_(Parameter *parameter)
void setAllParametersValues(const ParameterList ¶meters)
Set the parameters values to be equals to those of parameters.
ParameterList parameters_
virtual void fireParameterChanged(const ParameterList ¶meters)
Notify the class when one or several parameters have changed.
const ParameterList & getParameters() const
Get all parameters available.
virtual void shareParameter_(const std::shared_ptr< Parameter > ¶meter)
virtual void deleteParameter_(std::string &name)
const Parameter & getParameter_(size_t index) const
void setNamespace(const std::string &prefix)
Set the namespace for the parameter names.
Parameter & getParameterWithNamespace_(const std::string &name)
virtual void addParameters_(const ParameterList ¶meters)
AbstractParametrizable(const std::string &prefix)
const std::shared_ptr< Parameter > & getSharedParameter(size_t i) const
const std::shared_ptr< Parameter > & getSharedParameter(const std::string &name) const
virtual void includeParameters_(const ParameterList ¶meters)
virtual void deleteParameters_(const std::vector< std::string > &names)
bool hasParameter(const std::string &name) const
Tell if there is a parameter with specified name.
size_t getNumberOfParameters() const
Get the number of parameters.
std::shared_ptr< Parameter > & getSharedParameter(size_t i)
virtual void deleteParameter_(size_t index)
std::string getNamespace() const
Parameter & getParameter_(size_t index)
const Parameter & getParameterWithNamespace_(const std::string &name) const
double getParameterValue(const std::string &name) const
Get the value for parameter of name 'name'.
const Parameter & getParameter(const std::string &name) const
Get the parameter with specified name.
bool matchParametersValues(const ParameterList ¶meters)
Update the parameters from parameters.
void setParameterValue(const std::string &name, double value)
Set the value of parameter with name name to be equal to value.
std::string getParameterNameWithoutNamespace(const std::string &name) const
Resolves a parameter name according to the current namespace.
Parameter & getParameter_(const std::string &name)
Index out of bounds exception class.
The parameter list object.
virtual bool hasParameter(const std::string &name) const
virtual const Parameter & getParameter(const std::string &name) const
Get the parameter with name name.
virtual void addParameters(const ParameterList ¶ms)
Add new parameters at the end of the list.
virtual ParameterList shareSubList(const std::vector< std::string > &names) const
Share given parameters as a sublist.
virtual void setParameterValue(const std::string &name, double value)
Set the value of parameter with name name to be equal to value.
virtual void addParameter(const Parameter ¶m)
Add a new parameter at the end of the list.
virtual void shareParameter(const std::shared_ptr< Parameter > ¶m)
Share a parameter at the end of the list.
virtual void includeParameters(const ParameterList ¶ms)
Add parameters to the list. If the parameter already exists, only the value is updated,...
virtual void deleteParameter(const std::string &name)
Delete a parameter from the list.
virtual void setParametersValues(const ParameterList ¶ms)
Update the parameters from the ones in params that have matching names.
virtual void reset()
Reset the list: delete all parameters.
virtual bool matchParametersValues(const ParameterList ¶ms, std::vector< size_t > *updatedParameters=0)
Update the parameters from params.
virtual void shareParameters(const ParameterList ¶ms)
Share parameters with a given list. They are added the end of this list.
virtual void deleteParameters(const std::vector< std::string > &names, bool mustExist=true)
Delete several parameters from the list.
virtual const std::shared_ptr< Parameter > & getSharedParameter(size_t i) const
virtual ParameterList createSubList(const std::vector< std::string > &names) const
Get given parameters as a sublist.
virtual void setAllParametersValues(const ParameterList ¶ms)
Set the parameters to be equals to params.
Exception thrown when a parameter is not found, for instance in a ParameterList.
This class is designed to facilitate the manipulation of parameters.
virtual double getValue() const
Get the value of this parameter.
This is the interface for all objects that imply parameters.