41 #ifndef BPP_NUMERIC_PARAMETERLIST_H
42 #define BPP_NUMERIC_PARAMETERLIST_H
45 #include "../Clonable.h"
46 #include "../Io/OutputStream.h"
124 virtual const std::shared_ptr<Parameter>&
getSharedParameter(
const std::string& name)
const;
257 virtual void shareParameter(
const std::shared_ptr<Parameter>& param);
336 virtual bool hasParameter(
const std::string& name)
const;
409 virtual void deleteParameters(
const std::vector<std::string>& names,
bool mustExist =
true);
450 virtual void reset();
The Clonable interface (allow an object to be cloned).
The parameter list object.
virtual Parameter & operator[](size_t i)
virtual bool hasParameter(const std::string &name) const
virtual const Parameter & getParameter(const std::string &name) const
Get the parameter with name name.
ParameterList()
Build a new ParameterList object.
virtual void printParameters(std::ostream &out) const
virtual void addParameters(const ParameterList ¶ms)
Add new parameters at the end of the list.
virtual ParameterList getCommonParametersWith(const ParameterList ¶ms) const
Get the sublist containing all common parameter between this list and pl.
virtual std::vector< std::string > getMatchingParameterNames(const std::string &pattern) const
Get all parameter names matching with the given name. Up to now, only "*" jokers are available.
virtual void matchParameters(const ParameterList ¶ms)
Update the parameters from params.
virtual ParameterList shareSubList(const std::vector< std::string > &names) const
Share given parameters as a sublist.
virtual void setParameters(const ParameterList ¶ms)
Update the parameters from params.
virtual std::vector< std::string > getParameterNames() const
Get all parameter names in the list.
virtual void setParameterValue(const std::string &name, double value)
Set the value of parameter with name name to be equal to value.
virtual double getParameterValue(const std::string &name) const
Get the value of the parameter with name name.
virtual void addParameter(const Parameter ¶m)
Add a new parameter at the end of the list.
ParameterList * clone() const
Create a copy of this object and send a pointer to it.
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 bool testParametersValues(const ParameterList ¶ms) const
Tests the parameters from params.
virtual void shareParameters(const ParameterList ¶ms)
Share parameters with a given list. They are added the end of this list.
ParameterList & operator=(const ParameterList &pl)
virtual void deleteParameters(const std::vector< std::string > &names, bool mustExist=true)
Delete several parameters from the list.
virtual void setAllParameters(const ParameterList ¶ms)
Set the parameters to be equals to params.
virtual const std::shared_ptr< Parameter > & getSharedParameter(size_t i) const
virtual const Parameter & operator[](size_t i) const
virtual void setParameter(size_t index, const Parameter ¶m)
Change given parameter.
virtual void printParameters(OutputStream &out) const
Print all parameters.
virtual size_t whichParameterHasName(const std::string &name) const
Get the position of a given parameter according to its name.
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.
std::vector< std::shared_ptr< Parameter > > parameters_
virtual std::shared_ptr< Parameter > & getSharedParameter(size_t i)
This class is designed to facilitate the manipulation of parameters.
STL wrapper for output stream.