Class TextInterface::OptionalInterface

template<class C, class Type, class Get, class Set>
class OptionalInterface : public TextInterface::AttributeGetSet<C, Type, Get, Set>

Dynamically embeds the interface of something that can be got and set.

In this template: C is a composite; Get is the method of C that returns something, Set is the method of C that sets something, and get_parser is the method that optionally returns the embedded interface to something.

Subclassed by TextInterface::DirectInterface< C, Type, Get, Set, GetParser >, TextInterface::IndirectInterface< C, Type, Get, Set, GetParser >

Public Functions

inline OptionalInterface(const std::string &t, Get g, Set s)

Construct from a pointer to element attribute interface.

inline virtual std::string get_name() const

Get the name of the attribute.

virtual std::string get_value(const C *ptr) const

Get the value of the attribute.

virtual void set_value(C *ptr, const std::string &value)

Set the value of the attribute.

virtual bool matches(const std::string &name) const

Return true if the name argument matches.

virtual void set_modifiers(const std::string&) const

Parse any modifiers that will alter the behaviour of the output stream.

virtual void reset_modifiers() const

Reset any output stream modifiers.