C/C++ API Reference
Loading...
Searching...
No Matches
pw_persistent_ram

Oveview

Main docs: https://pigweed.dev/pw_persistent_ram.

Classes

class  pw::persistent_ram::Persistent< T >
 
class  pw::persistent_ram::Persistent< T >::Mutator
 
class  pw::persistent_ram::PersistentBufferWriter
 
class  pw::persistent_ram::PersistentBuffer< kMaxSizeBytes >
 

Enumerations

enum class  GetterAction { kReset , kAssertValid }
 

Functions

 pw::persistent_ram::PW_MODIFY_DIAGNOSTICS_PUSH ()
 
 pw::persistent_ram::PW_MODIFY_DIAGNOSTIC (ignored, "-Wuninitialized")
 
 pw::persistent_ram::PW_MODIFY_DIAGNOSTIC_GCC (ignored, "-Wmaybe-uninitialized")
 
constexpr pw::persistent_ram::Persistent< T >::Mutator::Mutator (Persistent< T > &persistent)
 
 pw::persistent_ram::Persistent< T >::Mutator::Mutator (const Mutator &)=delete
 
T * pw::persistent_ram::Persistent< T >::Mutator::operator-> ()
 
T & pw::persistent_ram::Persistent< T >::Mutator::value ()
 
T & pw::persistent_ram::Persistent< T >::Mutator::operator* ()
 
 pw::persistent_ram::Persistent< T >::Persistent (const Persistent &)=delete
 
 pw::persistent_ram::Persistent< T >::Persistent (Persistent &&)=delete
 
template<class... Args>
const T & pw::persistent_ram::Persistent< T >::emplace (Args &&... args)
 
template<typename U = T>
Persistentpw::persistent_ram::Persistent< T >::operator= (U &&value)
 
void pw::persistent_ram::Persistent< T >::Invalidate ()
 
void pw::persistent_ram::Persistent< T >::reset ()
 
bool pw::persistent_ram::Persistent< T >::has_value () const
 
const T & pw::persistent_ram::Persistent< T >::value () const
 
Mutator pw::persistent_ram::Persistent< T >::mutator (GetterAction action=GetterAction::kAssertValid)
 
 pw::persistent_ram::PW_MODIFY_DIAGNOSTICS_POP ()
 
Status pw::persistent_ram::PersistentBufferWriter::DoWrite (ConstByteSpan data) override
 Virtual Write() function implemented by derived classes.
 
size_t pw::persistent_ram::PersistentBufferWriter::ConservativeLimit (LimitType limit) const override
 
 pw::persistent_ram::PersistentBuffer< kMaxSizeBytes >::PersistentBuffer (const PersistentBuffer &)=delete
 
 pw::persistent_ram::PersistentBuffer< kMaxSizeBytes >::PersistentBuffer (PersistentBuffer &&)=delete
 
PersistentBufferWriter pw::persistent_ram::PersistentBuffer< kMaxSizeBytes >::GetWriter ()
 
size_t pw::persistent_ram::PersistentBuffer< kMaxSizeBytes >::size () const
 
const std::byte * pw::persistent_ram::PersistentBuffer< kMaxSizeBytes >::data () const
 
void pw::persistent_ram::PersistentBuffer< kMaxSizeBytes >::clear ()
 
bool pw::persistent_ram::PersistentBuffer< kMaxSizeBytes >::has_value () const
 

Variables

volatile T   pw::persistent_ram::Persistent< T >::contents_
 
volatile uint16_t   pw::persistent_ram::Persistent< T >::crc_
 

Friends

class pw::persistent_ram::Persistent< T >::Mutator
 
template<size_t >
class pw::persistent_ram::PersistentBufferWriter::PersistentBuffer
 

Function Documentation

◆ ConservativeLimit()

size_t pw::persistent_ram::PersistentBufferWriter::ConservativeLimit ( LimitType  limit_type) const
inlineoverrideprivatevirtual

Virtual function optionally implemented by derived classes that is used for ConservativeReadLimit() and ConservativeWriteLimit().

The default implementation returns kUnlimited or 0 depending on whether the stream is readable/writable.

Reimplemented from pw::stream::Stream.

◆ DoWrite()

Status pw::persistent_ram::PersistentBufferWriter::DoWrite ( ConstByteSpan  data)
overrideprivatevirtual

Virtual Write() function implemented by derived classes.

Implements pw::stream::Stream.