dart
Public Types | Public Member Functions | List of all members
dart::common::EmbeddedPropertiesAspect< CompositeT, PropertiesDataT > Class Template Reference

This is the implementation of a standard embedded-properties Aspect. More...

#include <EmbeddedAspect.hpp>

Inheritance diagram for dart::common::EmbeddedPropertiesAspect< CompositeT, PropertiesDataT >:
Inheritance graph
[legend]
Collaboration diagram for dart::common::EmbeddedPropertiesAspect< CompositeT, PropertiesDataT >:
Collaboration graph
[legend]

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::PropertiesgetAspectProperties () const override final
 
const PropertiesgetProperties () const
 
std::unique_ptr< AspectcloneAspect () 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 StategetAspectState () 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< PropertiesmTemporaryProperties
 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.
 

Detailed Description

template<class CompositeT, typename PropertiesDataT>
class dart::common::EmbeddedPropertiesAspect< CompositeT, PropertiesDataT >

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.


The documentation for this class was generated from the following file: