DART 6.10.1
Loading...
Searching...
No Matches
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.
 
template<class Mixin >
using MakeProperties = MakeCloneable< Properties, Mixin >
 Use the MakeProperties class to easily create a Properties extension from an existing class or struct.
 

Public Member Functions

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

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].
 
virtual void loseComposite (Composite *oldComposite)
 This function will be triggered if your Aspect is about to be removed from its Composite.
 

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 Symbol Documentation

◆ Composite

friend class Composite
friend