DART  6.10.1
dart::common::EmbedStateAndProperties< DerivedT, StateDataT, PropertiesDataT > Class Template Reference

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

#include <EmbeddedAspect.hpp>

Inheritance diagram for dart::common::EmbedStateAndProperties< DerivedT, StateDataT, PropertiesDataT >:
dart::common::RequiresAspect< common::EmbeddedStateAndPropertiesAspect< DerivedT, StateDataT, PropertiesDataT > >

Public Types

using Derived = DerivedT
 
using Aspect = common::EmbeddedStateAndPropertiesAspect< DerivedT, StateDataT, PropertiesDataT >
 
using AspectState = typename Aspect::State
 
using AspectStateData = typename Aspect::StateData
 
using AspectProperties = typename Aspect::Properties
 
using AspectPropertiesData = typename Aspect::PropertiesData
 
using Base = common::RequiresAspect< Aspect >
 

Public Member Functions

template<typename... Args>
 EmbedStateAndProperties (Args &&... args)
 
virtual ~EmbedStateAndProperties ()=default
 
const AspectStategetAspectState () const
 
const AspectPropertiesgetAspectProperties () const
 

Protected Attributes

AspectState mAspectState
 Aspect::State data, directly accessible to your derived class. More...
 
AspectProperties mAspectProperties
 Aspect::Properties data, directly accessible to your derived class. More...
 

Detailed Description

template<class DerivedT, typename StateDataT, typename PropertiesDataT>
class dart::common::EmbedStateAndProperties< DerivedT, StateDataT, PropertiesDataT >

Inherit this class to embed both State and Properties into your Composite object.

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

Your derived class must implement the following functions:

void setAspectState(const AspectState& state);
void setAspectProperties(const AspectProperties& state);
typename Aspect::Properties AspectProperties
Definition: EmbeddedAspect.hpp:390
typename Aspect::State AspectState
Definition: EmbeddedAspect.hpp:387

Member Typedef Documentation

◆ Aspect

template<class DerivedT , typename StateDataT , typename PropertiesDataT >
using dart::common::EmbedStateAndProperties< DerivedT, StateDataT, PropertiesDataT >::Aspect = common:: EmbeddedStateAndPropertiesAspect<DerivedT, StateDataT, PropertiesDataT>

◆ AspectProperties

template<class DerivedT , typename StateDataT , typename PropertiesDataT >
using dart::common::EmbedStateAndProperties< DerivedT, StateDataT, PropertiesDataT >::AspectProperties = typename Aspect::Properties

◆ AspectPropertiesData

template<class DerivedT , typename StateDataT , typename PropertiesDataT >
using dart::common::EmbedStateAndProperties< DerivedT, StateDataT, PropertiesDataT >::AspectPropertiesData = typename Aspect::PropertiesData

◆ AspectState

template<class DerivedT , typename StateDataT , typename PropertiesDataT >
using dart::common::EmbedStateAndProperties< DerivedT, StateDataT, PropertiesDataT >::AspectState = typename Aspect::State

◆ AspectStateData

template<class DerivedT , typename StateDataT , typename PropertiesDataT >
using dart::common::EmbedStateAndProperties< DerivedT, StateDataT, PropertiesDataT >::AspectStateData = typename Aspect::StateData

◆ Base

template<class DerivedT , typename StateDataT , typename PropertiesDataT >
using dart::common::EmbedStateAndProperties< DerivedT, StateDataT, PropertiesDataT >::Base = common::RequiresAspect<Aspect>

◆ Derived

template<class DerivedT , typename StateDataT , typename PropertiesDataT >
using dart::common::EmbedStateAndProperties< DerivedT, StateDataT, PropertiesDataT >::Derived = DerivedT

Constructor & Destructor Documentation

◆ EmbedStateAndProperties()

template<class DerivedT , typename StateDataT , typename PropertiesDataT >
template<typename... Args>
dart::common::EmbedStateAndProperties< DerivedT, StateDataT, PropertiesDataT >::EmbedStateAndProperties ( Args &&...  args)
inline

◆ ~EmbedStateAndProperties()

template<class DerivedT , typename StateDataT , typename PropertiesDataT >
virtual dart::common::EmbedStateAndProperties< DerivedT, StateDataT, PropertiesDataT >::~EmbedStateAndProperties ( )
virtualdefault

Member Function Documentation

◆ getAspectProperties()

template<class DerivedT , typename StateDataT , typename PropertiesDataT >
const AspectProperties& dart::common::EmbedStateAndProperties< DerivedT, StateDataT, PropertiesDataT >::getAspectProperties ( ) const
inline

◆ getAspectState()

template<class DerivedT , typename StateDataT , typename PropertiesDataT >
const AspectState& dart::common::EmbedStateAndProperties< DerivedT, StateDataT, PropertiesDataT >::getAspectState ( ) const
inline

Member Data Documentation

◆ mAspectProperties

template<class DerivedT , typename StateDataT , typename PropertiesDataT >
AspectProperties dart::common::EmbedStateAndProperties< DerivedT, StateDataT, PropertiesDataT >::mAspectProperties
protected

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

◆ mAspectState

template<class DerivedT , typename StateDataT , typename PropertiesDataT >
AspectState dart::common::EmbedStateAndProperties< DerivedT, StateDataT, PropertiesDataT >::mAspectState
protected

Aspect::State data, directly accessible to your derived class.