DART  6.10.1
dart::common::detail::AspectWithVersionedProperties< BaseT, DerivedT, PropertiesDataT, CompositeT, updateProperties > Class Template Reference

AspectWithProtectedProperties generates implementations of the Property managing functions for an Aspect class. More...

#include <AspectWithVersion.hpp>

Inheritance diagram for dart::common::detail::AspectWithVersionedProperties< BaseT, DerivedT, PropertiesDataT, CompositeT, updateProperties >:
dart::common::AspectWithStateAndVersionedProperties< Support, detail::SupportStateData, detail::SupportPropertiesData, EndEffector, &detail::SupportUpdate > dart::dynamics::CollisionAspect dart::dynamics::DynamicsAspect dart::dynamics::VisualAspect dart::dynamics::Support

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. More...
 
template<typename... BaseArgs>
 AspectWithVersionedProperties (const PropertiesData &properties, BaseArgs &&... args)
 Construct this Aspect and pass args into the constructor of the Base class. More...
 
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. More...
 
const PropertiesgetProperties () const
 Get the Properties of this Aspect. More...
 
std::unique_ptr< AspectcloneAspect () const override
 
std::size_t incrementVersion ()
 Increment the version of this Aspect and its Composite. More...
 
void notifyPropertiesUpdate ()
 Call UpdateProperties(this) and incrementVersion() More...
 
void notifyPropertiesUpdated ()
 Call UpdateProperties(this) and incrementVersion() More...
 

Static Public Attributes

constexpr static void(* UpdateProperties )(Derived *) = updateProperties
 

Protected Attributes

Properties mProperties
 Properties of this Aspect. More...
 

Detailed Description

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

AspectWithProtectedProperties generates implementations of the Property managing functions for an Aspect class.

Member Typedef Documentation

◆ 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>

◆ 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

◆ CompositeType

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 >::CompositeType = CompositeT

◆ Derived

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 >::Derived = DerivedT

◆ Properties

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 >::Properties = Aspect::MakeProperties<PropertiesData>

◆ PropertiesData

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 >::PropertiesData = PropertiesDataT

Constructor & Destructor Documentation

◆ AspectWithVersionedProperties() [1/3]

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

◆ AspectWithVersionedProperties() [2/3]

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

Construct using a PropertiesData instance.

◆ AspectWithVersionedProperties() [3/3]

template<class BaseT , class DerivedT , typename PropertiesDataT , class CompositeT = Composite, void(*)(DerivedT *) updateProperties = &NoOp<DerivedT*>>
template<typename... BaseArgs>
dart::common::detail::AspectWithVersionedProperties< BaseT, DerivedT, PropertiesDataT, CompositeT, updateProperties >::AspectWithVersionedProperties ( const PropertiesData properties,
BaseArgs &&...  args 
)
inline

Construct this Aspect and pass args into the constructor of the Base class.

Member Function Documentation

◆ cloneAspect()

template<class BaseT , class DerivedT , typename PropertiesData , class CompositeT , void(*)(DerivedT *) updateProperties>
std::unique_ptr< Aspect > dart::common::detail::AspectWithVersionedProperties< BaseT, DerivedT, PropertiesData, CompositeT, updateProperties >::cloneAspect
override

◆ 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
finaloverride

◆ getProperties()

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

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

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

Call UpdateProperties(this) and incrementVersion()

◆ notifyPropertiesUpdated()

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

Call UpdateProperties(this) and incrementVersion()

◆ 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)
finaloverride

◆ 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)

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
protected

Properties of this Aspect.

◆ UpdateProperties

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