160 void notifyPropertiesUpdated();
176template <class BaseT, class DerivedT, typename StateDataT,
177 class CompositeT,
void (*updateState)(DerivedT*)>
179 BaseT, DerivedT, StateDataT, CompositeT, updateState>::UpdateState)(
183template <class BaseT, class DerivedT, typename StateDataT,
184 class CompositeT,
void (*updateState)(DerivedT*)>
194template <
class BaseT,
class DerivedT,
typename StateData,
195 class CompositeT, void (*updateState)(DerivedT*)>
199 setState(
static_cast<const State&
>(otherState));
203template <
class BaseT,
class DerivedT,
typename StateData,
204 class CompositeT, void (*updateState)(DerivedT*)>
207getAspectState() const
213template <
class BaseT,
class DerivedT,
typename StateData,
214 class CompositeT, void (*updateState)(DerivedT*)>
219 UpdateState(
static_cast<Derived*
>(
this));
223template <
class BaseT,
class DerivedT,
typename StateDataT,
224 class CompositeT, void (*updateState)(DerivedT*)>
226getState() const -> const
State&
232template <
class BaseT,
class DerivedT,
typename StateData,
233 class CompositeT, void (*updateState)(DerivedT*)>
234std::unique_ptr<Aspect>
238 return common::make_unique<Derived>(mState);
248template <
class BaseT,
class DerivedT,
typename PropertiesDataT,
249 class CompositeT, void (*updateProperties)(DerivedT*)>
251 CompositeT, updateProperties>::
252UpdateProperties)(DerivedT*);
255template <
class BaseT,
class DerivedT,
typename PropertiesDataT,
256 class CompositeT, void (*updateProperties)(DerivedT*)>
258 CompositeT, updateProperties>::
267template <
class BaseT,
class DerivedT,
typename PropertiesData,
268 class CompositeT, void (*updateProperties)(DerivedT*)>
270 CompositeT, updateProperties>::
273 setProperties(
static_cast<const Properties&
>(someProperties));
277template <
class BaseT,
class DerivedT,
typename PropertiesData,
278 class CompositeT, void (*updateProperties)(DerivedT*)>
281 CompositeT, updateProperties>::
282getAspectProperties() const
288template <
class BaseT,
class DerivedT,
typename PropertiesData,
289 class CompositeT, void (*updateProperties)(DerivedT*)>
291 CompositeT, updateProperties>::
295 this->notifyPropertiesUpdated();
299template <
class BaseT,
class DerivedT,
typename PropertiesData,
300 class CompositeT, void (*updateProperties)(DerivedT*)>
302 CompositeT, updateProperties>::
309template <
class BaseT,
class DerivedT,
typename PropertiesData,
310 class CompositeT, void (*updateProperties)(DerivedT*)>
311std::unique_ptr<Aspect>
313 CompositeT, updateProperties>::
316 return common::make_unique<Derived>(mProperties);
320template <
class BaseT,
class DerivedT,
typename PropertiesData,
321 class CompositeT, void (*updateProperties)(DerivedT*)>
323 CompositeT, updateProperties>::incrementVersion()
332template <
class BaseT,
class DerivedT,
typename PropertiesData,
333 class CompositeT, void (*updateProperties)(DerivedT*)>
335 BaseT, DerivedT, PropertiesData,
336 CompositeT, updateProperties>::notifyPropertiesUpdate()
338 notifyPropertiesUpdated();
342template <
class BaseT,
class DerivedT,
typename PropertiesData,
343 class CompositeT, void (*updateProperties)(DerivedT*)>
345 BaseT, DerivedT, PropertiesData,
346 CompositeT, updateProperties>::notifyPropertiesUpdated()
348 UpdateProperties(
static_cast<Derived*
>(
this));
349 this->incrementVersion();