Container for execution frame stack 더 자세히 ...
#include <frames.hpp>
Public 멤버 함수 | |
| void | dump () const override |
by::tnarr< frame >(으)로부터 상속된 Public 멤버 함수 | |
| tnarr (const Es &... elems) | |
| tnarr (const me &rhs) | |
| me & | operator= (const me &rhs)=default |
| frame & | operator[] (nidx n) override |
| ncnt | len () const override |
| nbool | in (nidx n) const override |
| frame * | get (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 |
by::tucontainable< T, R, RSquare >(으)로부터 상속된 Public 멤버 함수 | |
| 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 |
by::tarrayable< T, R, RSquare >(으)로부터 상속된 Public 멤버 함수 | |
| 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) |
추가로 상속된 멤버들 | |
by::tnarr< frame >(으)로부터 상속된 Public 타입 | |
| typedef tstr< frame, strTactic > | wrap |
| typedef super::iter | iter |
| typedef super::iteration | iteration |
by::tucontainable< T, R, RSquare >(으)로부터 상속된 Public 속성 | |
| 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 |
by::tarrayable< T, R, RSquare >(으)로부터 상속된 Public 속성 | |
| const R const T & | new1 = 0 |
| nbool | false |
by::tnarr< frame >(으)로부터 상속된 Protected 멤버 함수 | |
| iteration * | _onMakeIteration (ncnt step, nbool isReversed) const override |
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.
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.
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).