DART
6.7.3
|
#include <Aspect.hpp>
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< Aspect > | cloneAspect () 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 State * | getAspectState () 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 Properties * | getAspectProperties () 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 |
using dart::common::Aspect::MakeProperties = MakeCloneable<Properties, Mixin> |
Use the MakeProperties class to easily create a Properties extension from an existing class or struct.
using dart::common::Aspect::MakeState = MakeCloneable<State, Mixin> |
Use the MakeState class to easily create a State extension from an existing class or struct.
|
virtualdefault |
Virtual destructor.
|
pure virtual |
Clone this Aspect into a new composite.
Implemented in dart::common::EmbeddedStateAndPropertiesAspect< CompositeT, StateDataT, PropertiesDataT >, dart::common::detail::EmbeddedPropertiesAspect< detail::EmbeddedStateAspect< CompositeTrackingAspect< CompositeT >, EmbeddedStateAndPropertiesAspect< CompositeT, StateDataT, PropertiesDataT >, StateDataT >, EmbeddedStateAndPropertiesAspect< CompositeT, StateDataT, PropertiesDataT >, PropertiesDataT >, dart::common::detail::EmbeddedPropertiesAspect< CompositeTrackingAspect< CompositeT >, EmbeddedPropertiesAspect< CompositeT, PropertiesDataT >, PropertiesDataT >, dart::common::detail::EmbeddedStateAspect< CompositeTrackingAspect< CompositeT >, EmbeddedStateAndPropertiesAspect< CompositeT, StateDataT, PropertiesDataT >, StateDataT >, and dart::common::detail::EmbeddedStateAspect< CompositeTrackingAspect< CompositeT >, EmbeddedStateAspect< CompositeT, StateDataT >, StateDataT >.
|
virtual |
Get the Properties of this Aspect.
By default, this returns a nullptr which implies that the Aspect has no properties.
Reimplemented in dart::common::detail::EmbeddedPropertiesAspect< detail::EmbeddedStateAspect< CompositeTrackingAspect< CompositeT >, EmbeddedStateAndPropertiesAspect< CompositeT, StateDataT, PropertiesDataT >, StateDataT >, EmbeddedStateAndPropertiesAspect< CompositeT, StateDataT, PropertiesDataT >, PropertiesDataT >, and dart::common::detail::EmbeddedPropertiesAspect< CompositeTrackingAspect< CompositeT >, EmbeddedPropertiesAspect< CompositeT, PropertiesDataT >, PropertiesDataT >.
|
virtual |
By default, this returns a nullptr which implies that the Aspect is stateless.
Reimplemented in dart::common::detail::EmbeddedStateAspect< CompositeTrackingAspect< CompositeT >, EmbeddedStateAndPropertiesAspect< CompositeT, StateDataT, PropertiesDataT >, StateDataT >, and dart::common::detail::EmbeddedStateAspect< CompositeTrackingAspect< CompositeT >, EmbeddedStateAspect< CompositeT, StateDataT >, StateDataT >.
|
protectedvirtual |
This function will be triggered if your Aspect is about to be removed from its Composite.
While this function is being called, the Aspect is still a valid part of the Composite; it will be removed immediately after this function call. By default, this function does nothing.
Reimplemented in dart::common::detail::EmbeddedPropertiesAspect< detail::EmbeddedStateAspect< CompositeTrackingAspect< CompositeT >, EmbeddedStateAndPropertiesAspect< CompositeT, StateDataT, PropertiesDataT >, StateDataT >, EmbeddedStateAndPropertiesAspect< CompositeT, StateDataT, PropertiesDataT >, PropertiesDataT >, 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::CompositeTrackingAspect< CompositeType >, and dart::common::CompositeTrackingAspect< CompositeT >.
|
virtual |
Set the Properties of this Aspect. By default, this does nothing.
Reimplemented in dart::common::detail::EmbeddedPropertiesAspect< detail::EmbeddedStateAspect< CompositeTrackingAspect< CompositeT >, EmbeddedStateAndPropertiesAspect< CompositeT, StateDataT, PropertiesDataT >, StateDataT >, EmbeddedStateAndPropertiesAspect< CompositeT, StateDataT, PropertiesDataT >, PropertiesDataT >, and dart::common::detail::EmbeddedPropertiesAspect< CompositeTrackingAspect< CompositeT >, EmbeddedPropertiesAspect< CompositeT, PropertiesDataT >, PropertiesDataT >.
|
virtual |
Set the State of this Aspect. By default, this does nothing.
Reimplemented in dart::common::detail::EmbeddedStateAspect< CompositeTrackingAspect< CompositeT >, EmbeddedStateAndPropertiesAspect< CompositeT, StateDataT, PropertiesDataT >, StateDataT >, and dart::common::detail::EmbeddedStateAspect< CompositeTrackingAspect< CompositeT >, EmbeddedStateAspect< CompositeT, StateDataT >, StateDataT >.
|
protectedvirtual |
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].
You should override this function if your Aspect requires special handling in either of those cases. By default, this function does nothing.
Reimplemented in dart::common::detail::EmbeddedPropertiesAspect< detail::EmbeddedStateAspect< CompositeTrackingAspect< CompositeT >, EmbeddedStateAndPropertiesAspect< CompositeT, StateDataT, PropertiesDataT >, StateDataT >, EmbeddedStateAndPropertiesAspect< CompositeT, StateDataT, PropertiesDataT >, PropertiesDataT >, 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::CompositeTrackingAspect< CompositeType >, and dart::common::CompositeTrackingAspect< CompositeT >.
|
friend |