|
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... | |
Public Member Functions inherited from lifecycle::AbstractLifeCycle | |
| 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. |