dart
Public Types | Public Member Functions | Static Public Attributes | List of all members
dart::common::AspectWithStateAndVersionedProperties< DerivedT, StateDataT, PropertiesDataT, CompositeT, updateState, updateProperties > Class Template Reference
Inheritance diagram for dart::common::AspectWithStateAndVersionedProperties< DerivedT, StateDataT, PropertiesDataT, CompositeT, updateState, updateProperties >:
Inheritance graph
[legend]
Collaboration diagram for dart::common::AspectWithStateAndVersionedProperties< DerivedT, StateDataT, PropertiesDataT, CompositeT, updateState, updateProperties >:
Collaboration graph
[legend]

Public Types

using Derived = DerivedT
 
using StateData = StateDataT
 
using PropertiesData = PropertiesDataT
 
using CompositeType = CompositeT
 
using State = common::Aspect::MakeState< StateData >
 
using Properties = common::Aspect::MakeProperties< PropertiesData >
 
using AspectStateImpl = common::AspectWithState< Derived, StateData, CompositeType, updateState >
 
using AspectPropertiesImpl = detail::AspectWithVersionedProperties< AspectStateImpl, Derived, PropertiesData, CompositeType, updateProperties >
 
using AspectImpl = AspectWithStateAndVersionedProperties< DerivedT, StateDataT, PropertiesDataT, CompositeT, updateState, updateProperties >
 
- Public Types inherited from dart::common::detail::AspectWithVersionedProperties< AspectWithState< DerivedT, StateDataT, CompositeT, updateState >, DerivedT, PropertiesDataT, CompositeT, updateProperties >
using Base = AspectWithState< DerivedT, StateDataT, CompositeT, updateState >
 
using Derived = DerivedT
 
using PropertiesData = PropertiesDataT
 
using CompositeType = CompositeT
 
using Properties = Aspect::MakeProperties< PropertiesData >
 
using AspectImplementation = AspectWithVersionedProperties< Base, Derived, PropertiesData, CompositeT, updateProperties >
 
- Public Types inherited from dart::common::detail::AspectWithState< DerivedT, StateDataT, CompositeT, updateState >
using Base = DerivedT
 
using Derived = StateDataT
 
using StateData = CompositeT
 
using CompositeType = updateState
 
using State = Aspect::MakeState< StateData >
 
using AspectImplementation = AspectWithState< Base, Derived, StateData, updateState, &NoOp< StateDataT * > >
 

Public Member Functions

 AspectWithStateAndVersionedProperties (const AspectWithStateAndVersionedProperties &)=delete
 
 AspectWithStateAndVersionedProperties (const StateData &state=StateData(), const PropertiesData &properties=PropertiesData())
 Construct using a StateData and a PropertiesData instance.
 
 AspectWithStateAndVersionedProperties (const PropertiesData &properties, const StateData &state=StateData())
 Construct using a PropertiesData and a StateData instance.
 
std::unique_ptr< AspectcloneAspect () const override
 
- Public Member Functions inherited from dart::common::detail::AspectWithVersionedProperties< AspectWithState< DerivedT, StateDataT, CompositeT, updateState >, DerivedT, PropertiesDataT, CompositeT, updateProperties >
 AspectWithVersionedProperties (const AspectWithVersionedProperties &)=delete
 
 AspectWithVersionedProperties (const PropertiesData &properties=PropertiesData())
 Construct using a PropertiesData instance.
 
 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::PropertiesgetAspectProperties () const override final
 
void setProperties (const PropertiesData &properties)
 Set the Properties of this Aspect.
 
const PropertiesgetProperties () const
 Get the Properties of this Aspect.
 
std::unique_ptr< AspectcloneAspect () 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()
 
- Public Member Functions inherited from dart::common::detail::AspectWithState< DerivedT, StateDataT, CompositeT, updateState >
 AspectWithState (const AspectWithState &)=delete
 
 AspectWithState (const StateData &state=StateData())
 Construct using a StateData instance.
 
 AspectWithState (const StateData &state, BaseArgs &&... args)
 Construct this Aspect and pass args into the constructor of the Base class.
 
void setAspectState (const Aspect::State &otherState) override final
 
const Aspect::StategetAspectState () const override final
 
void setState (const StateData &state)
 Set the State of this Aspect.
 
const StategetState () const
 Get the State of this Aspect.
 
std::unique_ptr< AspectcloneAspect () const override
 

Static Public Attributes

static constexpr void(* UpdateState )(Derived *) = updateState
 
static constexpr void(* UpdateProperties )(Derived *) = updateProperties
 
- Static Public Attributes inherited from dart::common::detail::AspectWithVersionedProperties< AspectWithState< DerivedT, StateDataT, CompositeT, updateState >, DerivedT, PropertiesDataT, CompositeT, updateProperties >
static constexpr void(* UpdateProperties )(Derived *)
 
- Static Public Attributes inherited from dart::common::detail::AspectWithState< DerivedT, StateDataT, CompositeT, updateState >
static constexpr void(* UpdateState )(Derived *)
 

Additional Inherited Members

- Protected Attributes inherited from dart::common::detail::AspectWithVersionedProperties< AspectWithState< DerivedT, StateDataT, CompositeT, updateState >, DerivedT, PropertiesDataT, CompositeT, updateProperties >
Properties mProperties
 Properties of this Aspect.
 
- Protected Attributes inherited from dart::common::detail::AspectWithState< DerivedT, StateDataT, CompositeT, updateState >
State mState
 State of this Aspect.
 

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