dart
Public Types | Public Member Functions | Protected Attributes | List of all members
dart::common::EmbedProperties< DerivedT, PropertiesDataT > Class Template Reference

Inherit this class to embed Properties into your Composite object. More...

#include <EmbeddedAspect.hpp>

Inheritance diagram for dart::common::EmbedProperties< DerivedT, PropertiesDataT >:
Inheritance graph
[legend]
Collaboration diagram for dart::common::EmbedProperties< DerivedT, PropertiesDataT >:
Collaboration graph
[legend]

Public Types

using Derived = DerivedT
 
using Aspect = common::EmbeddedPropertiesAspect< Derived, PropertiesDataT >
 
using AspectProperties = typename Aspect::Properties
 
using AspectPropertiesData = typename Aspect::PropertiesData
 
using Base = common::RequiresAspect< Aspect >
 

Public Member Functions

template<typename... Args>
 EmbedProperties (Args &&... args)
 
const AspectProperties & getAspectProperties () const
 

Protected Attributes

AspectProperties mAspectProperties
 Aspect::Properties data, directly accessible to your derived class.
 

Detailed Description

template<class DerivedT, typename PropertiesDataT>
class dart::common::EmbedProperties< DerivedT, PropertiesDataT >

Inherit this class to embed Properties into your Composite object.

DerivedT is the name of your class and PropertiesDataT is a "plain-old data" structure that holds your properties information.

Your derived class must implement the following function:

void setAspectProperties(const AspectProperties& state);

To embed both state and properties information, use EmbedStateAndProperties.

It is possible to customize the way an EmbeddedPropertiesAspect interacts with your Composite by using the dart::common::detail::EmbeddedPropertiesAspect class directly instead of inheriting this class.


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