75 void operator=( const
CallStack & ) = delete ;
99 bool valid()
const noexcept ;
103 bool deleted()
const noexcept ;
113 void operator=(
const CallFrame & ) = delete ;
114 void operator=(
CallFrame && ) = delete ;
156 m_outer = m_stack.push(
this ) ;
163 m_stack.
pop( m_outer ) ;
An object to represent a nested execution context.
bool valid() const noexcept
Returns true if not invalidate()d.
bool deleted() const noexcept
Returns !valid().
~CallFrame() noexcept
Destructor.
void invalidate() noexcept
Invalidates the call-frame.
CallFrame(CallStack &) noexcept
Constructor.
CallFrame * outer() noexcept
Returns the next frame in the stack going from innermost to outermost.
A linked list of CallFrame pointers.
CallStack() noexcept
Constructor.
CallFrame * push(CallFrame *) noexcept
Pushes a new innermost call frame onto the stack.
void pop(CallFrame *) noexcept
Makes the given frame the innermost.