Loading...
Searching...
No Matches
by::frames Class Reference

Container for execution frame stack. More...

#include <frames.hpp>

Inheritance diagram for by::frames:
by::tnarr< frame > by::tnucontainer< T, R, RSquare > by::tarrayable< T, R, RSquare > by::tucontainable< T, R, RSquare >

Public Member Functions

void dump () const override
 
- Public Member Functions inherited from by::tnarr< frame >
 tnarr (const Es &... elems)
 
 tnarr (const me &rhs)
 
me & operator= (const me &rhs)=default
 
frameoperator[] (nidx n) override
 
ncnt len () const override
 
nbool in (nidx n) const override
 
frameget (nidx n) override
 
nbool set (const iter &at, const frame &new1) override
 
nbool set (nidx n, const frame &new1) override
 
nbool add (const iter &e, const frame &new1) override
 
nbool add (nidx n, const frame &new1) override
 
void add (const iter &here, const iter &from, const iter &to) override
 
nbool del (const iter &from, const iter &end) override
 
nbool del (const iter &it) override
 
nbool del (nidx n) override
 
void rel () override
 
clonable * clone () const override
 
void onCloneDeep (const clonable &from) override
 
std::string asStr () const
 
- Public Member Functions inherited from by::tucontainable< T, R, RSquare >
nbool in (const T &it) const
 
nbool in (const T *it) const BY_SIDE_FUNC(in)
 
nbool in (std::function< nbool(const T &)> l) const
 
template<typename T1 >
nbool in (std::function< nbool(const T1 &)> l) const
 
nbool isEmpty () const
 
template<typename T1 >
std::conditional_t< _IS_POINTER, T1 *, tmay< T1 > > get (std::function< nbool(const T1 &)> l)
 
std::conditional_t< _IS_POINTER, R, tmay< R > > get (std::function< nbool(const T &)> l)
 
template<typename T1 >
void each (std::function< nbool(T1 &)> l)
 
void each (std::function< nbool(T &)> l)
 
virtual iter end () const
 
virtual iter rend () const
 
virtual iter last () const
 
iter iterate (ncnt step) const
 
iter iterate (const T &it) const
 
iter riterate (ncnt step) const
 
iter riterate (const T &it) const
 
virtual nbool set (const iter &at, const T &new1)=0
 
virtual nbool set (const iter &at, const T *new1) BY_SIDE_FUNC(new1
 
virtual nbool set (at, *new1)
 
virtual nbool add (const iter &at, const T &new1)=0
 
nbool add (const iter &at, const T *new1) BY_SIDE_FUNC(new1
 
nbool add (at, *new1)
 
nbool add (std::initializer_list< const T * > elems)
 
nbool add (const T &new1)
 
nbool add (const T *it) BY_SIDE_FUNC(add)
 
virtual void add (const iter &here, const iter &from, const iter &to)=0
 
void add (const iter &from, const iter &to)
 
void add (const iter &here, me &rhs)
 
void add (const me &rhs)
 
void add (const me *rhs) BY_SIDE_FUNC(rhs
 
void add void ())
 
template<typename E >
ncnt add (const typename tucontainable< E >::iter &from, const typename tucontainable< E >::iter &to)
 
template<typename E >
ncnt add (const tucontainable< E > &rhs)
 
template<typename K , typename V >
ncnt add (const tbicontainable< K, V > &rhs)
 
nbool del ()
 
nbool del (const T &it)
 
nbool del (const T *it) BY_SIDE_FUNC(del)
 
virtual nbool del (const iter &it)=0
 
virtual nbool del (const iter &from, const iter &end)=0
 
nbool del (const me &rhs)
 
nbool del (const me *rhs) BY_SIDE_FUNC(rhs
 
- Public Member Functions inherited from by::tarrayable< T, R, RSquare >
const RSquare operator[] (nidx n) const BY_CONST_FUNC(operator[](n)) virtual nbool in(nidx n) const =0
 
const R get (nidx n) const BY_CONST_FUNC(get(n)) virtual nbool set(nidx n
 
nbool set (nidx n, const T *new1) BY_SIDE_FUNC(new1
 
nbool set (n, *new1)
 
virtual nbool add (nidx n, const T &new1)=0
 
nbool add (nidx n, const T *new1) BY_SIDE_FUNC(new1
 
nbool add (n, *new1)
 

Additional Inherited Members

- Public Types inherited from by::tnarr< frame >
typedef tstr< frame, strTactic > wrap
 
typedef super::iter iter
 
typedef super::iteration iteration
 
- Public Attributes inherited from by::tucontainable< T, R, RSquare >
template<typename T1 >
std::conditional_t< _IS_POINTER, const T1 *, tmay< T1 > > get(std::function< nbool(const T1 &)> l) const std tnarr< T, strTactic getAll )(std::function< nbool(const T &)> l) const
 
template<typename T1 >
void each(std::function< nbool(const T1 &)> l) const BY_CONST_FUNC(each(l)) void each(std ite rbegin )() const
 
virtual nbool false
 
nbool false
 
void add rhs
 
nbool del rhs
 
nbool del false
 
- Public Attributes inherited from by::tarrayable< T, R, RSquare >
const R const T & new1 = 0
 
nbool false
 
- Protected Member Functions inherited from by::tnarr< frame >
iteration_onMakeIteration (ncnt step, nbool isReversed) const override
 

Detailed Description

Container for execution frame stack.

Stack-based container managing execution frames for nested function calls. Since frames are closely related to the call stack, the frame created by the most recently called function comes first — in other words, it follows a LIFO (Last-In-First-Out) structure.

Relationship with thread

Each is required to run an autopod instance owns a frames object. When a function is called during program execution, a new frame is pushed onto the frames stack. When the function returns, the frame is popped. This maintains the execution context for nested function calls and provides proper scoping for variables.

Frame Lifecycle

Frames follow RAII principles - they are created when entering a function context and removed when exiting. However, as mentioned in baseErr documentation, frames may continue to exist even after being removed from the stack if they are referenced by error objects (for callstack preservation).


The documentation for this class was generated from the following file:
to Top