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 |