DART  6.7.3
dart::common::EmbedStateOnTopOf< DerivedT, StateDataT, BaseComposites > Class Template Reference

This is an alternative to EmbedState which allows your class to also inherit other Composite objects by listing them as the third (and later) template arguments. More...

#include <EmbeddedAspect.hpp>

Inheritance diagram for dart::common::EmbedStateOnTopOf< DerivedT, StateDataT, BaseComposites >:
dart::common::CompositeJoiner< EmbedState< DerivedT, StateDataT >, BaseComposites... >

Public Types

using Impl = EmbedState< DerivedT, StateDataT >
 
using Derived = typename Impl::Derived
 
using AspectStateData = typename Impl::AspectStateData
 
using AspectState = typename Impl::AspectState
 
using Aspect = typename Impl::Aspect
 
using Base = CompositeJoiner< Impl, BaseComposites... >
 

Public Member Functions

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

Protected Attributes

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

Detailed Description

template<class DerivedT, typename StateDataT, typename... BaseComposites>
class dart::common::EmbedStateOnTopOf< DerivedT, StateDataT, BaseComposites >

This is an alternative to EmbedState which allows your class to also inherit other Composite objects by listing them as the third (and later) template arguments.

Member Typedef Documentation

◆ Aspect

template<class DerivedT , typename StateDataT , typename... BaseComposites>
using dart::common::EmbedStateOnTopOf< DerivedT, StateDataT, BaseComposites >::Aspect = typename Impl::Aspect

◆ AspectState

template<class DerivedT , typename StateDataT , typename... BaseComposites>
using dart::common::EmbedStateOnTopOf< DerivedT, StateDataT, BaseComposites >::AspectState = typename Impl::AspectState

◆ AspectStateData

template<class DerivedT , typename StateDataT , typename... BaseComposites>
using dart::common::EmbedStateOnTopOf< DerivedT, StateDataT, BaseComposites >::AspectStateData = typename Impl::AspectStateData

◆ Base

template<class DerivedT , typename StateDataT , typename... BaseComposites>
using dart::common::EmbedStateOnTopOf< DerivedT, StateDataT, BaseComposites >::Base = CompositeJoiner<Impl, BaseComposites...>

◆ Derived

template<class DerivedT , typename StateDataT , typename... BaseComposites>
using dart::common::EmbedStateOnTopOf< DerivedT, StateDataT, BaseComposites >::Derived = typename Impl::Derived

◆ Impl

template<class DerivedT , typename StateDataT , typename... BaseComposites>
using dart::common::EmbedStateOnTopOf< DerivedT, StateDataT, BaseComposites >::Impl = EmbedState<DerivedT, StateDataT>

Constructor & Destructor Documentation

◆ EmbedStateOnTopOf()

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

◆ ~EmbedStateOnTopOf()

template<class DerivedT , typename StateDataT , typename... BaseComposites>
virtual dart::common::EmbedStateOnTopOf< DerivedT, StateDataT, BaseComposites >::~EmbedStateOnTopOf ( )
virtualdefault

Member Function Documentation

◆ getAspectState()

template<class DerivedT , typename StateDataT , typename... BaseComposites>
const AspectState& dart::common::EmbedState< DerivedT, StateDataT >::getAspectState
inline

Member Data Documentation

◆ mAspectState

template<class DerivedT , typename StateDataT , typename... BaseComposites>
AspectState dart::common::EmbedState< DerivedT, StateDataT >::mAspectState
protected

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