|
using | Base = BaseT |
|
using | Derived = DerivedT |
|
using | Properties = PropertiesT |
|
using | PropertiesData = PropertiesDataT |
|
|
static constexpr void(* | SetEmbeddedProperties )(Derived *, const Properties &) = setEmbeddedProperties |
|
static constexpr const Properties &(* | GetEmbeddedProperties )(const Derived *) = getEmbeddedProperties |
|
|
enum | DelegateTag { Delegate
} |
|
|
template<typename... RemainingArgs> |
| 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...
|
|
template<typename... BaseArgs> |
| 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.
|
|
◆ EmbeddedPropertiesAspect() [1/3]
template<class BaseT, class DerivedT, typename PropertiesDataT, typename PropertiesT = common::Aspect::MakeProperties<PropertiesDataT>, void(*)(DerivedT *, const PropertiesT &) setEmbeddedProperties = &DefaultSetEmbeddedProperties<DerivedT, PropertiesT>, const PropertiesT &(*)(const DerivedT *) getEmbeddedProperties = &DefaultGetEmbeddedProperties<DerivedT, PropertiesT>>
template<typename T , typename... RemainingArgs>
Construct this Aspect.
If the first argument contains PropertiesData, then it will be used by this Aspect. Otherwise, all arguments will be forwarded to the Base class.
◆ EmbeddedPropertiesAspect() [2/3]
template<class BaseT, class DerivedT, typename PropertiesDataT, typename PropertiesT = common::Aspect::MakeProperties<PropertiesDataT>, void(*)(DerivedT *, const PropertiesT &) setEmbeddedProperties = &DefaultSetEmbeddedProperties<DerivedT, PropertiesT>, const PropertiesT &(*)(const DerivedT *) getEmbeddedProperties = &DefaultGetEmbeddedProperties<DerivedT, PropertiesT>>
template<typename... RemainingArgs>
Construct this Aspect using the PropertiesData, and pass the remaining arguments into the constructor of the Base class.
◆ EmbeddedPropertiesAspect() [3/3]
template<class BaseT, class DerivedT, typename PropertiesDataT, typename PropertiesT = common::Aspect::MakeProperties<PropertiesDataT>, void(*)(DerivedT *, const PropertiesT &) setEmbeddedProperties = &DefaultSetEmbeddedProperties<DerivedT, PropertiesT>, const PropertiesT &(*)(const DerivedT *) getEmbeddedProperties = &DefaultGetEmbeddedProperties<DerivedT, PropertiesT>>
template<typename... BaseArgs>
Construct this Aspect without affecting the Properties, and pass all the arguments into the constructor of the Base class.
◆ mTemporaryProperties
template<class BaseT, class DerivedT, typename PropertiesDataT, typename PropertiesT = common::Aspect::MakeProperties<PropertiesDataT>, void(*)(DerivedT *, const PropertiesT &) setEmbeddedProperties = &DefaultSetEmbeddedProperties<DerivedT, PropertiesT>, const PropertiesT &(*)(const DerivedT *) getEmbeddedProperties = &DefaultGetEmbeddedProperties<DerivedT, PropertiesT>>
After this Aspect is constructed and during transitions between Composite objects, this will hold the Properties of the Aspect.
Once the Aspect has been moved into a new Composite, these Properties will be pushed into the Composite and cleared.
The documentation for this class was generated from the following file: