dart
|
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 |
Public Types inherited from dart::common::detail::EmbeddedPropertiesAspect< CompositeTrackingAspect< CompositeT >, EmbeddedPropertiesAspect< CompositeT, PropertiesDataT >, PropertiesDataT > | |
using | Base = CompositeTrackingAspect< CompositeT > |
using | Derived = EmbeddedPropertiesAspect< CompositeT, PropertiesDataT > |
using | Properties = common::Aspect::MakeProperties< PropertiesDataT > |
using | PropertiesData = PropertiesDataT |
Public Types inherited from dart::common::Aspect | |
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) | |
Public Member Functions inherited from dart::common::detail::EmbeddedPropertiesAspect< CompositeTrackingAspect< CompositeT >, EmbeddedPropertiesAspect< CompositeT, PropertiesDataT >, PropertiesDataT > | |
EmbeddedPropertiesAspect (const EmbeddedPropertiesAspect &)=delete | |
EmbeddedPropertiesAspect () | |
Construct this Aspect without affecting the Properties. | |
EmbeddedPropertiesAspect (const T &arg1, RemainingArgs &&... remainingArgs) | |
Construct this Aspect. More... | |
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 |
Public Member Functions inherited from dart::common::CompositeTrackingAspect< CompositeT > | |
CompositeTrackingAspect () | |
Default constructor. | |
CompositeT * | getComposite () |
Get the Composite of this Aspect. | |
const CompositeT * | getComposite () const |
Get the Composite of this Aspect. | |
bool | hasComposite () const |
Returns true if this Aspect has a Composite that matches CompositeType. | |
Public Member Functions inherited from dart::common::Aspect | |
virtual | ~Aspect ()=default |
Virtual destructor. | |
virtual void | setAspectState (const State &otherState) |
Set the State of this Aspect. By default, this does nothing. | |
virtual const State * | getAspectState () const |
Get the State of this Aspect. More... | |
Additional Inherited Members | |
Static Public Attributes inherited from dart::common::detail::EmbeddedPropertiesAspect< CompositeTrackingAspect< CompositeT >, EmbeddedPropertiesAspect< CompositeT, PropertiesDataT >, PropertiesDataT > | |
static constexpr void(* | SetEmbeddedProperties )(Derived *, const Properties &) |
static constexpr const Properties &(* | GetEmbeddedProperties )(const Derived *) |
Protected Types inherited from dart::common::detail::EmbeddedPropertiesAspect< CompositeTrackingAspect< CompositeT >, EmbeddedPropertiesAspect< CompositeT, PropertiesDataT >, PropertiesDataT > | |
enum | DelegateTag |
Protected Member Functions inherited from dart::common::detail::EmbeddedPropertiesAspect< CompositeTrackingAspect< CompositeT >, EmbeddedPropertiesAspect< CompositeT, PropertiesDataT >, PropertiesDataT > | |
EmbeddedPropertiesAspect (DelegateTag, const PropertiesData &properties, RemainingArgs &&... remainingArgs) | |
Construct this Aspect using the PropertiesData, and pass the remaining arguments into the constructor of the Base class. More... | |
EmbeddedPropertiesAspect (DelegateTag, BaseArgs &&... args) | |
Construct this Aspect without affecting the Properties, and pass all the arguments into the constructor of the Base class. More... | |
void | setComposite (Composite *newComposite) override |
Pass the temporary Properties of this Aspect into the new Composite. | |
void | loseComposite (Composite *oldComposite) override |
Save the embedded Properties of this Composite before we remove the Aspect. | |
Protected Attributes inherited from dart::common::detail::EmbeddedPropertiesAspect< CompositeTrackingAspect< CompositeT >, EmbeddedPropertiesAspect< CompositeT, PropertiesDataT >, PropertiesDataT > | |
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... | |
Protected Attributes inherited from dart::common::CompositeTrackingAspect< CompositeT > | |
CompositeT * | mComposite |
Pointer to the current Composite of this Aspect. | |
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.