A simple container for holding a value T
with CRC16 integrity checking.
A Persistent
is simply a value T
plus integrity checking for use in a persistent RAM section which is not initialized on boot.
DoubleBufferedPersistent
, a Persistent
will be lost if a write/set operation is interrupted or otherwise not completed.TODO: b/235277454 - Consider a different integrity check implementation which does not use a 512B lookup table.
Classes | |
class | Mutator |
Public Member Functions | |
Persistent (const Persistent &)=delete | |
Persistent (Persistent &&)=delete | |
template<class... Args> | |
const T & | emplace (Args &&... args) |
template<typename U = T> | |
Persistent & | operator= (U &&value) |
void | Invalidate () |
void | reset () |
bool | has_value () const |
const T & | value () const |
Mutator | mutator (GetterAction action=GetterAction::kAssertValid) |
Friends | |
class | Mutator |