![]() |
|
Something which has a name, a description and possibly some parameters of varying type. More...
#include <BeanLike.h>


Public Types | |
| typedef ReferenceMap | map_t |
| Reference map type used to store this bean's parameters (name -> linked variable). | |
Public Member Functions | |
| BeanLike (const BeanLike &b) | |
Copy constructor. Re-links parameters to the member variables of this (new) instance. | |
| BeanLike (const std::string &name, const std::string &description="") | |
| Constructor. | |
| virtual const std::string & | getName () const |
| Return the name of an instance. | |
| virtual const std::string & | getDescription () const |
| Return a brief description. | |
| bool | hasParameters () const |
| Tells if any parameters have been linked (registered) for this bean. | |
| template<class F > | |
| F | getParameter (const std::string &p) const |
| Gets a single parameter. | |
| const map_t & | getParameters () const |
| Returns the parameter map (const access). | |
| map_t & | getParameters () |
| Returns the parameter map. | |
| template<class F > | |
| void | setParametersFromEntries (const F &args) |
| Sets several parameters at once from a sequence of key-value pairs. | |
| void | setParameters (std::initializer_list< Variable::init_pair_t > args) |
| Grants access to (if above hidden) | |
| virtual void | setParameters (const std::string &p, char assignmentSymbol='=', char separatorSymbol=0) |
| Sets comma-separated parameters in a predetermined order "a,b,c" or by specifing them "b=2". | |
| template<class T > | |
| void | setParameters (const std::map< std::string, T > &args) |
| Set parameters. | |
| template<class T > | |
| void | setParameters (const SmartMap< T > &args) |
| Set parameters. | |
| void | setParameter (const std::string &p, const Castable &value) |
| Sets a single parameter. | |
| template<class T > | |
| void | setParameter (const std::string &p, const VariableT< T > &value) |
| template<class F > | |
| void | setParameter (const std::string &p, const F &value) |
| Sets a single parameter. | |
| template<class F > | |
| void | setParameter (const std::string &p, std::initializer_list< F > value) |
| Sets a single parameter. | |
| BeanLike & | operator= (const BeanLike &b) |
| Assigns the parameter values of another bean (by key) to this one's own parameters. | |
| virtual std::ostream & | toStream (std::ostream &ostr, bool compact=true) const |
| Prints the name, description and current parameter values. | |
Protected Member Functions | |
| virtual void | storeLastArguments (const std::string &p) |
| Called after setParameters() | |
| virtual void | updateBean () const |
| Called after setParameters() | |
Protected Attributes | |
| const std::string | name |
| Name of this bean, typically also the name of the (derived) class. | |
| const std::string | description |
| Brief, human-readable description of this bean. | |
| map_t | parameters |
| Parameters (name -> linked variable), typically linked to member variables of the derived class. | |
Something which has a name, a description and possibly some parameters of varying type.
The parameters are local variables (properties) linked by a ReferenceMap .
drain::Command's and drain::image::ImageOp's are typical BeanLikes.
Copy constructor. Re-links parameters to the member variables of this (new) instance.
| b | - bean to copy the name, description and parameter values from. |
|
inline |
Constructor.
| name | - name of this bean, typically also the name of the class. |
| description | - brief, human-readable description of this bean. |
|
inlinevirtual |
Return a brief description.
Reimplemented in ImpulseResponseOpBase< T >.
|
inlinevirtual |
Return the name of an instance.
Reimplemented in ImpulseResponseOpBase< T >, BlenderOp, FlowAverageOp, GaussianAverageOp, SlidingWindowOp< W >, SlidingWindowOp< FlowAverageWindowWeighted >, SlidingWindowOp< SlidingOpticalFlowWeighted >, SlidingWindowOp< SlidingOpticalFlowWeighted2 >, SlidingWindowOp< SlidingWindowHistogramWeighted >, SlidingWindowOp< SlidingWindowMedianWeighted >, WindowOp< W >, WindowOp< FlowAverageWindowWeighted >, WindowOp< GaussianStripe< WindowCore > >, WindowOp< SlidingOpticalFlowWeighted >, WindowOp< SlidingOpticalFlowWeighted2 >, WindowOp< SlidingWindowHistogramWeighted >, WindowOp< SlidingWindowMedianWeighted >, WindowOp< W >, WindowOp< Window< GaussianWindowConf > >, and WindowOp< Window< WindowConfig > >.
Assigns the parameter values of another bean (by key) to this one's own parameters.
| b | - bean to copy the parameter values from. |
|
inline |
Sets a single parameter.
Sets a single parameter
|
inline |
TODO: consider VariableLike Sets a single parameter
|
inlinevirtual |
Sets comma-separated parameters in a predetermined order "a,b,c" or by specifing them "b=2".
This function is virtual because derived classes may redefine it to update str members.
|
inline |
Sets several parameters at once from a sequence of key-value pairs.
| F | - a container of key-value pairs, like std::map<std::string,std::string> or an initializer list of such pairs. |
| args | - the key-value pairs to assign, forwarded to the individual parameters. |
|
inlineprotectedvirtual |
Called after setParameters()
Reimplemented in ProductBase.
|
virtual |
Prints the name, description and current parameter values.
| ostr | - output stream. |
| compact | - if true, print parameters on a single line; if false, use a more verbose layout. |
|
inlineprotectedvirtual |
Called after setParameters()
Reimplemented in DataSelector, WeightedAverageMethod, DistanceModel, Functor, FuzzyStep< T >, FuzzyStep< double >, FuzzyTriangle< T >, FuzzyBell< T >, FuzzyBell< double >, FuzzyBell2< T >, FuzzyBell2< double >, FuzzyStepsoid< T >, FuzzyTwinPeaks< T >, and PrecipZ.
1.9.8