xentara-plugin v1.2.1
The Xentara Plugin Framework
|
A sentinel that protects write access to raw memory. More...
#include <memory/WriteSentinel_RawMemory.hpp>
Public Member Functions | |
WriteSentinel (const RawMemoryBlock &block) | |
Constructor. | |
WriteSentinel (const RawMemoryBlock &block, CopyOldValuesTag tag) | |
Constructor that copies the old values, if necessary. | |
~WriteSentinel () | |
Destructor. | |
internal auto | commit () -> void |
Commits the changes. | |
auto | discard () -> void |
Discards any uncommitted changes. | |
auto | placement () const noexcept -> void * |
Gets the placement of the containing data. | |
auto | oldData () const -> const void * |
Gets a pointer to the old data of the block. | |
A sentinel that protects write access to raw memory.
xentara::memory::WriteSentinel< RawMemory >::WriteSentinel | ( | const RawMemoryBlock & | block | ) |
Constructor.
block | The memory block you wish to write to |
xentara::memory::WriteSentinel< RawMemory >::WriteSentinel | ( | const RawMemoryBlock & | block, |
CopyOldValuesTag | tag | ||
) |
Constructor that copies the old values, if necessary.
This constructor will initialize the new values with copies of the old values.
block | The memory block you wish to write to |
tag | Always pass WriteSentinel::kCopyOldValues as this parameter |
Destructor.
Discards any uncommitted changes.
internal auto xentara::memory::WriteSentinel< RawMemory >::commit | ( | ) | -> void |
auto xentara::memory::WriteSentinel< RawMemory >::discard | ( | ) | -> void |
auto xentara::memory::WriteSentinel< RawMemory >::oldData | ( | ) | const -> const void * |
Gets a pointer to the old data of the block.
This function can be used to access the old data of the block for memory resources that write by allocating a new block and swapping it in for the old one on commit. For memory resources that write data in place, the returned pointer is the same as placement().
|
noexcept |
Gets the placement of the containing data.