DART  6.10.1
dart::common::Aspect Class Referenceabstract

#include <Aspect.hpp>

Inheritance diagram for dart::common::Aspect:
dart::common::CompositeTrackingAspect< CompositeT > dart::common::CompositeTrackingAspect< CompositeType > dart::common::detail::EmbeddedPropertiesAspect< CompositeTrackingAspect< CompositeT >, EmbeddedPropertiesAspect< CompositeT, PropertiesDataT >, PropertiesDataT > dart::common::detail::EmbeddedStateAspect< CompositeTrackingAspect< CompositeT >, EmbeddedStateAndPropertiesAspect< CompositeT, StateDataT, PropertiesDataT >, StateDataT > dart::common::detail::EmbeddedStateAspect< CompositeTrackingAspect< CompositeT >, EmbeddedStateAspect< CompositeT, StateDataT >, StateDataT > dart::common::EmbeddedPropertiesAspect< CompositeT, PropertiesDataT > dart::common::detail::EmbeddedPropertiesAspect< detail::EmbeddedStateAspect< CompositeTrackingAspect< CompositeT >, EmbeddedStateAndPropertiesAspect< CompositeT, StateDataT, PropertiesDataT >, StateDataT >, EmbeddedStateAndPropertiesAspect< CompositeT, StateDataT, PropertiesDataT >, PropertiesDataT > dart::common::EmbeddedStateAspect< CompositeT, StateDataT > dart::common::EmbeddedStateAndPropertiesAspect< CompositeT, StateDataT, PropertiesDataT >

Classes

class  Properties
 If your Aspect has Properties, then that Properties class should inherit this Aspect::Properties class. More...
 
class  State
 If your Aspect has a State, then that State class should inherit this Aspect::State class. More...
 

Public Types

template<class Mixin >
using MakeState = MakeCloneable< State, Mixin >
 Use the MakeState class to easily create a State extension from an existing class or struct. More...
 
template<class Mixin >
using MakeProperties = MakeCloneable< Properties, Mixin >
 Use the MakeProperties class to easily create a Properties extension from an existing class or struct. More...
 

Public Member Functions

virtual ~Aspect ()=default
 Virtual destructor. More...
 
virtual std::unique_ptr< AspectcloneAspect () const =0
 Clone this Aspect into a new composite. More...
 
virtual void setAspectState (const State &otherState)
 Set the State of this Aspect. By default, this does nothing. More...
 
virtual const StategetAspectState () const
 Get the State of this Aspect. More...
 
virtual void setAspectProperties (const Properties &someProperties)
 Set the Properties of this Aspect. By default, this does nothing. More...
 
virtual const PropertiesgetAspectProperties () const
 Get the Properties of this Aspect. More...
 

Protected Member Functions

virtual void setComposite (Composite *newComposite)
 This function will be triggered (1) after the Aspect has been created [transfer will be false] and (2) after the Aspect has been transferred to a new Composite [transfer will be true]. More...
 
virtual void loseComposite (Composite *oldComposite)
 This function will be triggered if your Aspect is about to be removed from its Composite. More...
 

Friends

class Composite
 

Member Typedef Documentation

◆ MakeProperties

template<class Mixin >
using dart::common::Aspect::MakeProperties = MakeCloneable<Properties, Mixin>

Use the MakeProperties class to easily create a Properties extension from an existing class or struct.

◆ MakeState

template<class Mixin >
using dart::common::Aspect::MakeState = MakeCloneable<State, Mixin>

Use the MakeState class to easily create a State extension from an existing class or struct.

Constructor & Destructor Documentation

◆ ~Aspect()

virtual dart::common::Aspect::~Aspect ( )
virtualdefault

Virtual destructor.

Member Function Documentation

◆ cloneAspect()

◆ getAspectProperties()

◆ getAspectState()

◆ loseComposite()

◆ setAspectProperties()

◆ setAspectState()

◆ setComposite()

Friends And Related Function Documentation

◆ Composite

friend class Composite
friend