DART 6.10.1
Loading...
Searching...
No Matches
dart::common::AspectWithStateAndVersionedProperties< DerivedT, StateDataT, PropertiesDataT, CompositeT, updateState, updateProperties > Class Template Reference

#include <AspectWithVersion.hpp>

Inheritance diagram for dart::common::AspectWithStateAndVersionedProperties< DerivedT, StateDataT, PropertiesDataT, CompositeT, updateState, updateProperties >:
dart::common::detail::AspectWithVersionedProperties< BaseT, DerivedT, PropertiesDataT, CompositeT, updateProperties >

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 >
 
using Base = BaseT
 
using AspectImplementation = AspectWithVersionedProperties< Base, Derived, PropertiesData, CompositeT, updateProperties >
 

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
 
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::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(* UpdateState )(Derived *) = updateState
 
static constexpr void(* UpdateProperties )(Derived *) = updateProperties
 

Protected Attributes

Properties mProperties
 Properties of this Aspect.
 

Member Typedef Documentation

◆ AspectImpl

template<class DerivedT , typename StateDataT , typename PropertiesDataT , class CompositeT = Composite, void(*)(DerivedT *) updateState = &detail::NoOp<DerivedT*>, void(*)(DerivedT *) updateProperties = updateState>
using dart::common::AspectWithStateAndVersionedProperties< DerivedT, StateDataT, PropertiesDataT, CompositeT, updateState, updateProperties >::AspectImpl = AspectWithStateAndVersionedProperties< DerivedT, StateDataT, PropertiesDataT, CompositeT, updateState, updateProperties>

◆ AspectImplementation

template<class BaseT , class DerivedT , typename PropertiesDataT , class CompositeT = Composite, void(*)(DerivedT *) updateProperties = &NoOp<DerivedT*>>
using dart::common::detail::AspectWithVersionedProperties< BaseT, DerivedT, PropertiesDataT, CompositeT, updateProperties >::AspectImplementation = AspectWithVersionedProperties< Base, Derived, PropertiesData, CompositeT, updateProperties>
inherited

◆ AspectPropertiesImpl

template<class DerivedT , typename StateDataT , typename PropertiesDataT , class CompositeT = Composite, void(*)(DerivedT *) updateState = &detail::NoOp<DerivedT*>, void(*)(DerivedT *) updateProperties = updateState>
using dart::common::AspectWithStateAndVersionedProperties< DerivedT, StateDataT, PropertiesDataT, CompositeT, updateState, updateProperties >::AspectPropertiesImpl = detail::AspectWithVersionedProperties< AspectStateImpl, Derived, PropertiesData, CompositeType, updateProperties>

◆ AspectStateImpl

template<class DerivedT , typename StateDataT , typename PropertiesDataT , class CompositeT = Composite, void(*)(DerivedT *) updateState = &detail::NoOp<DerivedT*>, void(*)(DerivedT *) updateProperties = updateState>
using dart::common::AspectWithStateAndVersionedProperties< DerivedT, StateDataT, PropertiesDataT, CompositeT, updateState, updateProperties >::AspectStateImpl = common::AspectWithState<Derived, StateData, CompositeType, updateState>

◆ Base

template<class BaseT , class DerivedT , typename PropertiesDataT , class CompositeT = Composite, void(*)(DerivedT *) updateProperties = &NoOp<DerivedT*>>
using dart::common::detail::AspectWithVersionedProperties< BaseT, DerivedT, PropertiesDataT, CompositeT, updateProperties >::Base = BaseT
inherited

◆ CompositeType

template<class DerivedT , typename StateDataT , typename PropertiesDataT , class CompositeT = Composite, void(*)(DerivedT *) updateState = &detail::NoOp<DerivedT*>, void(*)(DerivedT *) updateProperties = updateState>
using dart::common::AspectWithStateAndVersionedProperties< DerivedT, StateDataT, PropertiesDataT, CompositeT, updateState, updateProperties >::CompositeType = CompositeT

◆ Derived

template<class DerivedT , typename StateDataT , typename PropertiesDataT , class CompositeT = Composite, void(*)(DerivedT *) updateState = &detail::NoOp<DerivedT*>, void(*)(DerivedT *) updateProperties = updateState>
using dart::common::AspectWithStateAndVersionedProperties< DerivedT, StateDataT, PropertiesDataT, CompositeT, updateState, updateProperties >::Derived = DerivedT

◆ Properties

template<class DerivedT , typename StateDataT , typename PropertiesDataT , class CompositeT = Composite, void(*)(DerivedT *) updateState = &detail::NoOp<DerivedT*>, void(*)(DerivedT *) updateProperties = updateState>
using dart::common::AspectWithStateAndVersionedProperties< DerivedT, StateDataT, PropertiesDataT, CompositeT, updateState, updateProperties >::Properties = common::Aspect::MakeProperties<PropertiesData>

◆ PropertiesData

template<class DerivedT , typename StateDataT , typename PropertiesDataT , class CompositeT = Composite, void(*)(DerivedT *) updateState = &detail::NoOp<DerivedT*>, void(*)(DerivedT *) updateProperties = updateState>
using dart::common::AspectWithStateAndVersionedProperties< DerivedT, StateDataT, PropertiesDataT, CompositeT, updateState, updateProperties >::PropertiesData = PropertiesDataT

◆ State

template<class DerivedT , typename StateDataT , typename PropertiesDataT , class CompositeT = Composite, void(*)(DerivedT *) updateState = &detail::NoOp<DerivedT*>, void(*)(DerivedT *) updateProperties = updateState>
using dart::common::AspectWithStateAndVersionedProperties< DerivedT, StateDataT, PropertiesDataT, CompositeT, updateState, updateProperties >::State = common::Aspect::MakeState<StateData>

◆ StateData

template<class DerivedT , typename StateDataT , typename PropertiesDataT , class CompositeT = Composite, void(*)(DerivedT *) updateState = &detail::NoOp<DerivedT*>, void(*)(DerivedT *) updateProperties = updateState>
using dart::common::AspectWithStateAndVersionedProperties< DerivedT, StateDataT, PropertiesDataT, CompositeT, updateState, updateProperties >::StateData = StateDataT

Constructor & Destructor Documentation

◆ AspectWithStateAndVersionedProperties() [1/3]

template<class DerivedT , typename StateDataT , typename PropertiesDataT , class CompositeT = Composite, void(*)(DerivedT *) updateState = &detail::NoOp<DerivedT*>, void(*)(DerivedT *) updateProperties = updateState>
dart::common::AspectWithStateAndVersionedProperties< DerivedT, StateDataT, PropertiesDataT, CompositeT, updateState, updateProperties >::AspectWithStateAndVersionedProperties ( const AspectWithStateAndVersionedProperties< DerivedT, StateDataT, PropertiesDataT, CompositeT, updateState, updateProperties > &  )
delete

◆ AspectWithStateAndVersionedProperties() [2/3]

template<class DerivedT , typename StateDataT , typename PropertiesDataT , class CompositeT = Composite, void(*)(DerivedT *) updateState = &detail::NoOp<DerivedT*>, void(*)(DerivedT *) updateProperties = updateState>
dart::common::AspectWithStateAndVersionedProperties< DerivedT, StateDataT, PropertiesDataT, CompositeT, updateState, updateProperties >::AspectWithStateAndVersionedProperties ( const StateData state = StateData(),
const PropertiesData properties = PropertiesData() 
)
inline

Construct using a StateData and a PropertiesData instance.

◆ AspectWithStateAndVersionedProperties() [3/3]

template<class DerivedT , typename StateDataT , typename PropertiesDataT , class CompositeT = Composite, void(*)(DerivedT *) updateState = &detail::NoOp<DerivedT*>, void(*)(DerivedT *) updateProperties = updateState>
dart::common::AspectWithStateAndVersionedProperties< DerivedT, StateDataT, PropertiesDataT, CompositeT, updateState, updateProperties >::AspectWithStateAndVersionedProperties ( const PropertiesData properties,
const StateData state = StateData() 
)
inline

Construct using a PropertiesData and a StateData instance.

Member Function Documentation

◆ cloneAspect()

template<class DerivedT , typename StateDataT , typename PropertiesDataT , class CompositeT = Composite, void(*)(DerivedT *) updateState = &detail::NoOp<DerivedT*>, void(*)(DerivedT *) updateProperties = updateState>
std::unique_ptr< Aspect > dart::common::AspectWithStateAndVersionedProperties< DerivedT, StateDataT, PropertiesDataT, CompositeT, updateState, updateProperties >::cloneAspect ( ) const
inlineoverride

◆ getAspectProperties()

template<class BaseT , class DerivedT , typename PropertiesData , class CompositeT , void(*)(DerivedT *) updateProperties>
const Aspect::Properties * dart::common::detail::AspectWithVersionedProperties< BaseT, DerivedT, PropertiesData, CompositeT, updateProperties >::getAspectProperties ( ) const
finaloverrideinherited

◆ getProperties()

template<class BaseT , class DerivedT , typename PropertiesData , class CompositeT , void(*)(DerivedT *) updateProperties>
auto dart::common::detail::AspectWithVersionedProperties< BaseT, DerivedT, PropertiesData, CompositeT, updateProperties >::getProperties ( ) const
inherited

Get the Properties of this Aspect.

◆ incrementVersion()

template<class BaseT , class DerivedT , typename PropertiesData , class CompositeT , void(*)(DerivedT *) updateProperties>
std::size_t dart::common::detail::AspectWithVersionedProperties< BaseT, DerivedT, PropertiesData, CompositeT, updateProperties >::incrementVersion ( )
inherited

Increment the version of this Aspect and its Composite.

◆ notifyPropertiesUpdate()

template<class BaseT , class DerivedT , typename PropertiesData , class CompositeT , void(*)(DerivedT *) updateProperties>
void dart::common::detail::AspectWithVersionedProperties< BaseT, DerivedT, PropertiesData, CompositeT, updateProperties >::notifyPropertiesUpdate ( )
inherited

◆ notifyPropertiesUpdated()

template<class BaseT , class DerivedT , typename PropertiesData , class CompositeT , void(*)(DerivedT *) updateProperties>
void dart::common::detail::AspectWithVersionedProperties< BaseT, DerivedT, PropertiesData, CompositeT, updateProperties >::notifyPropertiesUpdated ( )
inherited

◆ setAspectProperties()

template<class BaseT , class DerivedT , typename PropertiesData , class CompositeT , void(*)(DerivedT *) updateProperties>
void dart::common::detail::AspectWithVersionedProperties< BaseT, DerivedT, PropertiesData, CompositeT, updateProperties >::setAspectProperties ( const Aspect::Properties someProperties)
finaloverrideinherited

◆ setProperties()

template<class BaseT , class DerivedT , typename PropertiesData , class CompositeT , void(*)(DerivedT *) updateProperties>
void dart::common::detail::AspectWithVersionedProperties< BaseT, DerivedT, PropertiesData, CompositeT, updateProperties >::setProperties ( const PropertiesData properties)
inherited

Set the Properties of this Aspect.

Member Data Documentation

◆ mProperties

template<class BaseT , class DerivedT , typename PropertiesDataT , class CompositeT = Composite, void(*)(DerivedT *) updateProperties = &NoOp<DerivedT*>>
Properties dart::common::detail::AspectWithVersionedProperties< BaseT, DerivedT, PropertiesDataT, CompositeT, updateProperties >::mProperties
protectedinherited

Properties of this Aspect.

◆ UpdateProperties

template<class DerivedT , typename StateDataT , typename PropertiesDataT , class CompositeT = Composite, void(*)(DerivedT *) updateState = &detail::NoOp<DerivedT*>, void(*)(DerivedT *) updateProperties = updateState>
constexpr void(* dart::common::AspectWithStateAndVersionedProperties< DerivedT, StateDataT, PropertiesDataT, CompositeT, updateState, updateProperties >::UpdateProperties) (Derived *) = updateProperties
staticconstexpr

◆ UpdateState

template<class DerivedT , typename StateDataT , typename PropertiesDataT , class CompositeT = Composite, void(*)(DerivedT *) updateState = &detail::NoOp<DerivedT*>, void(*)(DerivedT *) updateProperties = updateState>
constexpr void(* dart::common::AspectWithStateAndVersionedProperties< DerivedT, StateDataT, PropertiesDataT, CompositeT, updateState, updateProperties >::UpdateState) (Derived *) = updateState
staticconstexpr