FastArduino
v1.9 alpha
C++ library to build fast but small Arduino/AVR projects
|
A mixin class allowing lifecycle management of any object of any type T
.
More...
#include <fastarduino/lifecycle.h>
Public Member Functions | |
LifeCycle () | |
Create a new LifeCycle<T> mixin for an object of type T . More... | |
LifeCycle (const T &value) | |
Create a new LifeCycle<T> mixin for object value of type T . More... | |
LifeCycle (T &&value) | |
Create a new LifeCycle<T> mixin for object value of type T . More... | |
LifeCycle (LifeCycle &&that)=default | |
Crate a new LifeCycle<T> mixin object of type T , by moving an already existing LifeCycle<T> instance that . More... | |
~LifeCycle ()=default | |
Destroy this LifeCycle<T> instance. More... | |
LifeCycle & | operator= (LifeCycle &&that)=default |
Assign this LifeCycle<T> with that , by moving that already existing LifeCycle<T> instance. More... | |
![]() | |
uint8_t | id () const |
The unique identifier of this lifecycle-managed instance, as provided by the LifeCycleManager it was registered with. More... | |
AbstractLifeCycleManager * | manager () const |
A pointer to the AbstractLifeCycleManager handling this instance. More... | |
A mixin class allowing lifecycle management of any object of any type T
.
T | the type of object for which we want to manage lifecycle |
Definition at line 356 of file lifecycle.h.
|
inline |
Create a new LifeCycle<T>
mixin for an object of type T
.
This can be registered with a LifeCycleManager and then tracked wherever it gets moved.
Definition at line 367 of file lifecycle.h.
|
inlineexplicit |
Create a new LifeCycle<T>
mixin for object value
of type T
.
This can be registered with a LifeCycleManager and then tracked wherever it gets moved.
value | the original value of this T instance |
Definition at line 379 of file lifecycle.h.
|
inlineexplicit |
Create a new LifeCycle<T>
mixin for object value
of type T
.
This can be registered with a LifeCycleManager and then tracked wherever it gets moved.
value | the original value of this T instance |
Definition at line 391 of file lifecycle.h.
|
default |
Crate a new LifeCycle<T>
mixin object of type T
, by moving an already existing LifeCycle<T>
instance that
.
Once this is constructed, that
was automatically unregistered from its LifeCycleManager.
that | the rvalue of an existing LifeCycle<T> instance (possibly registered already or not) to be moved into this. |
|
default |
Destroy this LifeCycle<T>
instance.
That destructor unregisters this instance from its LifeCycleManager (if already registered).
|
default |
Assign this LifeCycle<T>
with that
, by moving that already existing LifeCycle<T>
instance.
Before assignment, this is automatically unregistered from its LifeCycleManager, if needed. Once assignment is completed, that
was automatically unregistered from its LifeCycleManager.
that | the rvalue of an existing LifeCycle<T> instance (possibly registered already or not) to be moved into this. |