memory
|
Simple utility that automatically unwinds a Stack
to a previously saved location.
A Stack
is anything that provides a marker
, a top()
function returning a marker
and an unwind()
function to unwind to a marker
, like a foonathan::memory::memory_stack
Typedefs | |
using | stack_type = Stack |
using | marker_type = typename stack_type::marker |
Member Functions | |
memory_stack_raii_unwind (stack_type &stack) noexcept | |
memory_stack_raii_unwind (stack_type &stack, marker_type marker) noexcept | |
memory_stack_raii_unwind (memory_stack_raii_unwind &&other) noexcept | |
~memory_stack_raii_unwind () noexcept | |
memory_stack_raii_unwind & | operator= (memory_stack_raii_unwind &&other) noexcept |
void | release () noexcept |
void | unwind () noexcept |
bool | will_unwind () const noexcept |
marker_type | get_marker () const noexcept |
stack_type & | get_stack () const noexcept |
|
explicitnoexcept |
memory_stack_raii_unwind(stack, stack.top())
.
|
noexcept |
|
noexcept |
other
. other.will_unwind()
will return false
after it.
|
noexcept |
unwind()
.
|
noexcept |
other
. other.will_unwind()
will return false
after it.
|
noexcept |
will_unwind()
will return false
.
|
noexcept |
will_unwind()
must return true
.
|
noexcept |
|
noexcept |
will_unwind()
must return true
.
|
noexcept |
will_unwind()
must return true
.