WPILibC++ 2025.1.1
|
Simple utility that automatically unwinds a Stack
to a previously saved location.
More...
#include <wpi/memory/memory_stack.hpp>
Public Types | |
using | stack_type = Stack |
using | marker_type = typename stack_type::marker |
Public 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 |
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 wpi::memory::memory_stack
using wpi::memory::memory_stack_raii_unwind< Stack >::marker_type = typename stack_type::marker |
using wpi::memory::memory_stack_raii_unwind< Stack >::stack_type = Stack |
|
inlineexplicitnoexcept |
memory_stack_raii_unwind(stack, stack.top())
.
|
inlinenoexcept |
|
inlinenoexcept |
other
. other.will_unwind()
will return false
after it.
|
inlinenoexcept |
unwind()
.
|
inlinenoexcept |
will_unwind()
must return true
.
|
inlinenoexcept |
will_unwind()
must return true
.
|
inlinenoexcept |
other
. other.will_unwind()
will return false
after it.
|
inlinenoexcept |
will_unwind()
will return false
.
|
inlinenoexcept |
will_unwind()
must return true
.
|
inlinenoexcept |