dynamic-graph  4.4.3
Dynamic graph library
Setter< E, T > Class Template Reference

#include <dynamic-graph/command-setter.h>

Inheritance diagram for Setter< E, T >:
Collaboration diagram for Setter< E, T >:

Public Types

typedef void(E::* SetterMethod) (const T &)
 Pointer to method that sets parameter of type T.
 

Public Member Functions

 Setter (E &entity, SetterMethod setterMethod, const std::string &docString)
 Constructor.
 
- Public Member Functions inherited from Command
 Command (Entity &entity, const std::vector< Value::Type > &valueTypes, const std::string &docstring)
 
Value execute ()
 Execute the command after checking parameters.
 
std::string getDocstring () const
 Get documentation string.
 
const std::vector< Value > & getParameterValues () const
 Get parameter values.
 
Entityowner ()
 Get a reference to the Entity owning this command.
 
void setParameterValues (const std::vector< Value > &values)
 Set parameter values.
 
const std::vector< Value::Type > & valueTypes () const
 Return the value type of all parameters.
 

Protected Member Functions

virtual Value doExecute ()
 Specific action performed by the command.
 

Additional Inherited Members

- Static Public Attributes inherited from Command
static const std::vector< Value::Type > EMPTY_ARG
 

Detailed Description

template<class E, typename T>
class dynamicgraph::command::Setter< E, T >

Command that calls a parameter setter function

This class is templated by a type E deriving from entity and a type T of data.

Let us assume that class E has a private member of type T and a public setter function for this member:

class E : public Entity
{
public:
E (const std::string& inName) : Entity(inName) {}
void setParameter(const T& parameter) {parameter_ = parameter;}
private:
T parameter_;
};

Then the command defined by:

E entity("MyEntity");
Setter<E,T> command(entity, &E::getParameter)

sets the value of entity.parameter_ upon invocation.

Note
  • T should be a type supported by class Value,
  • prototype of E::setParameter should be exactly as specified in this example.

Definition at line 45 of file command-setter.h.


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