FastArduino
v1.9 alpha
C++ library to build fast but small Arduino/AVR projects
|
A kind of proxy class that encapsulates access to a fixed T
instance.
More...
#include <fastarduino/lifecycle.h>
Public Member Functions | |
DirectProxy (const T &dest) | |
Create a DirectProxy<T> to a static reference. More... | |
T * | operator() (UNUSED const AbstractLifeCycleManager *manager=nullptr) const |
Return a pointer to the proxified T instance. More... | |
bool | is_dynamic () const |
Tell if this DirectProxy is dynamic or static. More... | |
uint8_t | id () const |
The identifier of the proxified LifeCycle<U> or 0 if a static instance was proxified. More... | |
T * | destination () const |
A pointer to the static instance proxified. | |
Friends | |
bool | operator== (const DirectProxy< T > &, const DirectProxy< T > &) |
bool | operator!= (const DirectProxy< T > &, const DirectProxy< T > &) |
A kind of proxy class that encapsulates access to a fixed T
instance.
Each instance uses 2 bytes (pointer to the instance proxied). This class has the same API as LightProxy so it can be used in lieu of LightProxy.
T | the type of the object proxied |
Definition at line 825 of file lifecycle.h.
|
inline |
Create a DirectProxy<T>
to a static reference.
dest | the reference to a T instance to proxify. |
Definition at line 832 of file lifecycle.h.
|
inline |
Return a pointer to the proxified T
instance.
manager | unused, here to comply to LightProxy API, can be left to default nullptr . |
Definition at line 856 of file lifecycle.h.
|
inline |
Tell if this DirectProxy is dynamic or static.
Actually a DirectProxy is always static. This API exists to comply to LightProxy API.
Definition at line 866 of file lifecycle.h.
|
inline |
The identifier of the proxified LifeCycle<U>
or 0
if a static instance was proxified.
This API actually always returns 0
and exists to comply to LightProxy API.
Definition at line 876 of file lifecycle.h.