DART
6.7.3
|
This is the implementation of a standard embedded-properties Aspect. More...
#include <EmbeddedAspect.hpp>
Public Types | |
using | Base = CompositeTrackingAspect< CompositeT > |
using | Derived = EmbeddedPropertiesAspect< CompositeT, PropertiesDataT > |
using | Impl = detail::EmbeddedPropertiesAspect< Base, Derived, PropertiesDataT > |
using | Properties = typename Impl::Properties |
using | PropertiesData = typename Impl::PropertiesData |
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 | |
template<typename... Args> | |
EmbeddedPropertiesAspect (Args &&... args) | |
virtual | ~EmbeddedPropertiesAspect ()=default |
void | setAspectProperties (const Aspect::Properties &properties) override final |
void | setProperties (const Properties &properties) |
const Aspect::Properties * | getAspectProperties () const override final |
const Properties & | getProperties () const |
std::unique_ptr< Aspect > | cloneAspect () const override |
CompositeT * | getComposite () |
Get the Composite of this Aspect. More... | |
const CompositeT * | getComposite () const |
Get the Composite of this Aspect. More... | |
bool | hasComposite () const |
Returns true if this Aspect has a Composite that matches CompositeType. 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... | |
Static Public Attributes | |
constexpr static void(* | SetEmbeddedProperties )(Derived *, const Properties &) |
constexpr static const Properties &(* | GetEmbeddedProperties )(const Derived *) |
Protected Types | |
enum | DelegateTag |
Protected Member Functions | |
void | setComposite (Composite *newComposite) override |
Pass the temporary Properties of this Aspect into the new Composite. More... | |
void | loseComposite (Composite *oldComposite) override |
Save the embedded Properties of this Composite before we remove the Aspect. More... | |
Protected Attributes | |
std::unique_ptr< Properties > | mTemporaryProperties |
After this Aspect is constructed and during transitions between Composite objects, this will hold the Properties of the Aspect. More... | |
CompositeT * | mComposite |
Pointer to the current Composite of this Aspect. More... | |
This is the implementation of a standard embedded-properties Aspect.
Inherit the EmbedProperties (next class down in the header) to use this Aspect implementation.
For more control over how your embedded-properties Aspect is implemented, you can use the detail::EmbeddedPropertiesAspect class.
using dart::common::EmbeddedPropertiesAspect< CompositeT, PropertiesDataT >::Base = CompositeTrackingAspect<CompositeT> |
using dart::common::EmbeddedPropertiesAspect< CompositeT, PropertiesDataT >::Derived = EmbeddedPropertiesAspect<CompositeT, PropertiesDataT> |
using dart::common::EmbeddedPropertiesAspect< CompositeT, PropertiesDataT >::Impl = detail::EmbeddedPropertiesAspect<Base, Derived, PropertiesDataT> |
|
inherited |
Use the MakeProperties class to easily create a Properties extension from an existing class or struct.
|
inherited |
Use the MakeState class to easily create a State extension from an existing class or struct.
using dart::common::EmbeddedPropertiesAspect< CompositeT, PropertiesDataT >::Properties = typename Impl::Properties |
using dart::common::EmbeddedPropertiesAspect< CompositeT, PropertiesDataT >::PropertiesData = typename Impl::PropertiesData |
|
protectedinherited |
|
inline |
|
virtualdefault |
|
inlineoverridevirtualinherited |
Implements dart::common::Aspect.
|
inlinefinaloverridevirtualinherited |
Reimplemented from dart::common::Aspect.
|
virtualinherited |
Get the State of this Aspect.
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 >.
|
inherited |
|
inherited |
|
inlineinherited |
|
inherited |
|
inlineoverrideprotectedvirtualinherited |
Save the embedded Properties of this Composite before we remove the Aspect.
Reimplemented from dart::common::CompositeTrackingAspect< CompositeT >.
|
inlinefinaloverridevirtualinherited |
Reimplemented from dart::common::Aspect.
|
virtualinherited |
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 >.
|
inlineoverrideprotectedvirtualinherited |
Pass the temporary Properties of this Aspect into the new Composite.
Reimplemented from dart::common::CompositeTrackingAspect< CompositeT >.
|
inlineinherited |
|
staticconstexprinherited |
|
protectedinherited |
|
protectedinherited |
|
staticconstexprinherited |