dart
|
AspectWithProtectedProperties generates implementations of the Property managing functions for an Aspect class. More...
#include <AspectWithVersion.hpp>
Public Types | |
using | Base = BaseT |
using | Derived = DerivedT |
using | PropertiesData = PropertiesDataT |
using | CompositeType = CompositeT |
using | Properties = Aspect::MakeProperties< PropertiesData > |
using | AspectImplementation = AspectWithVersionedProperties< Base, Derived, PropertiesData, CompositeT, updateProperties > |
Public Member Functions | |
AspectWithVersionedProperties (const AspectWithVersionedProperties &)=delete | |
AspectWithVersionedProperties (const PropertiesData &properties=PropertiesData()) | |
Construct using a PropertiesData instance. | |
template<typename... BaseArgs> | |
AspectWithVersionedProperties (const PropertiesData &properties, BaseArgs &&... args) | |
Construct this Aspect and pass args into the constructor of the Base class. | |
void | setAspectProperties (const Aspect::Properties &someProperties) override final |
const Aspect::Properties * | getAspectProperties () const override final |
void | setProperties (const PropertiesData &properties) |
Set the Properties of this Aspect. | |
const Properties & | getProperties () const |
Get the Properties of this Aspect. | |
std::unique_ptr< Aspect > | cloneAspect () const override |
std::size_t | incrementVersion () |
Increment the version of this Aspect and its Composite. | |
void | notifyPropertiesUpdate () |
Call UpdateProperties(this) and incrementVersion() | |
void | notifyPropertiesUpdated () |
Call UpdateProperties(this) and incrementVersion() | |
Static Public Attributes | |
static constexpr void(* | UpdateProperties )(Derived *) = updateProperties |
Protected Attributes | |
Properties | mProperties |
Properties of this Aspect. | |
AspectWithProtectedProperties generates implementations of the Property managing functions for an Aspect class.