Nested function with captured scope 더 자세히 ...
#include <nestedFunc.hpp>
Protected 멤버 함수 | |
| str | _interactFrame (node &meObj, scope &s, nidx exN) override |
| Overrides base class to handle frame interaction and local scope capture for nested functions. | |
by::func(으)로부터 상속된 Protected 멤버 함수 | |
| str | _run (nidx exN) |
by::baseFunc(으)로부터 상속된 Protected 멤버 함수 | |
| void | _setSrc (const src &newSrc) override |
by::node(으)로부터 상속된 Protected 멤버 함수 | |
| virtual str | _onEvalSub (node &sub, const args &a) |
| Protected virtual method for evaluating a sub-node. | |
| void | _setSrc (const src *it) BY_SIDE_FUNC(_setSrc) |
추가로 상속된 멤버들 | |
by::func(으)로부터 상속된 Public 멤버 함수 | |
| func (const modifier &mod, const funcType &type) | |
| func (const modifier &mod, const funcType &type, const blockExpr &newBlock) | |
| func (const modifier &mod, const funcType &type, const scope &subs, const blockExpr &newBlock) | |
| const ntype & | getType () const override |
| blockExpr & | getBlock () |
| const blockExpr & | getBlock () const |
| void | setBlock (const blockExpr &new1) |
| scope & | subs () override |
| str | eval (const args &a) override |
| void | inFrame (const bicontainable *args) const override |
| void | outFrame () const override |
| const baseObj & | getOrigin () const override |
| ends & | getEnds () |
Gets the list of endExpr (defer-like statements) registered for this function. | |
| const ends & | getEnds () const BY_CONST_FUNC(getEnds()) void onCloneDeep(const clonable &from) override |
| nbool | isAbstract () const |
by::baseFunc(으)로부터 상속된 Public 멤버 함수 | |
| priorType | prioritize (const args &a) const override |
| virtual params & | getParams () |
| const params & | getParams () const BY_CONST_FUNC(getParams()) |
| virtual const node * | getRet () const |
| const src & | getSrc () const override |
| const modifier & | getModifier () const override |
by::node(으)로부터 상속된 Public 멤버 함수 | |
| me & | operator[] (const std::string &name) |
| const me & | operator[] (const std::string &name) const BY_CONST_FUNC(operator[](name)) |
| me & | operator[] (const std::string *it) |
| const me & | operator[] (const std::string *it) const BY_CONST_FUNC(operator[](it)) |
| me & | operator[] (const nchar *name) |
| const me & | operator[] (const nchar *name) const BY_CONST_FUNC(operator[](name)) |
| nbool | in (const node &elem) const |
| nbool | in (const node *elem) const |
| const scope & | subs () const BY_CONST_FUNC(subs()) virtual tstr< nbicontainer > mySubs() const |
| Returns a tstr to a container of immediate sub-nodes (excluding inherited or chained ones). | |
| const node * | promote (const node &it) const |
| const node * | promote (const node *it) const BY_SIDE_FUNC(promote) |
| template<typename T > | |
| T * | sub (std::function< nbool(const std::string &, const T &)> l) |
| template<typename T > | |
| const T * | sub (std::function< nbool(const std::string &, const T &)> l) const BY_CONST_FUNC(sub< T >(l)) template< typename T |
| template<typename T = me> | |
| const T * | sub () const BY_CONST_FUNC(sub< T >()) template< typename T |
| template<typename T = me> | |
| T * | sub (const std::string *it) BY_SIDE_FUNC(sub) |
| template<typename T = me> | |
| const T * | sub (const std::string &name) const BY_CONST_FUNC(sub< T >(name)) template< typename T |
| template<typename T = me> | |
| T * | sub (const std::string *name, const args &a) BY_SIDE_FUNC(name |
| template<typename T = me> | |
| const T * | sub (const std::string &name, const args &a) const BY_CONST_FUNC(sub< T >(name |
| template<typename T = me> | |
| const T a const T * | sub (const std::string *name, const args &a) const BY_CONST_FUNC(sub< T >(name |
| template<typename T > | |
| const T a const T a tnarr< T, strTactic > | subAll (std::function< nbool(const std::string &, const T &)> l) const |
| template<typename T = me> | |
| tnarr< T, strTactic > | subAll () const |
| template<typename T = me> | |
| tpriorities< T > | subAll (const std::string &name) const |
| template<typename T = me> | |
| tpriorities< T > | subAll (const std::string *it) const BY_SIDE_FUNC(subAll< T >) template< typename T |
| template<typename T = me> | |
| tpriorities< T > | subAll (const std::string &name, const args &a) const |
| template<typename T = me> | |
| tpriorities< T > | subAll (const std::string *name, const args *a) const BY_SIDE_FUNC(name |
| tpriorities< T > subAll< T > | tpriorities ()) |
| template<typename T = me> | |
| tpriorities< T > | subAll (const std::string *name, const args &a) const BY_SIDE_FUNC(name |
| tpriorities< T > subAll< T > | tpriorities ()) |
| bool | canEval (const args &a) const |
| priorType | prioritize (const args *it) const BY_SIDE_FUNC(it |
| str | eval (const args *it) BY_SIDE_FUNC(eval) |
| str | eval (const std::string &name, const args &a) |
| str | eval (const std::string &name, const args *a) BY_SIDE_FUNC(a |
| str | eval (name, a) |
| str | str ()) |
| str | eval (const std::string *name, const args &a) BY_SIDE_FUNC(name |
| str eval | str ()) |
| str | eval (const std::string *name, const args *a) BY_SIDE_FUNC(name &&a |
| str eval | str ()) |
| str | eval (const std::string &name) |
| str | eval (const std::string *it) BY_SIDE_FUNC(eval) |
| str | eval () |
| virtual void | rel () |
| template<typename T > | |
| nbool | is () const |
| nbool | is (const typeProvidable &to) const |
| nbool | is (const typeProvidable *it) const BY_SIDE_FUNC(is) |
| nbool | is (const type &to) const |
| nbool | is (const type *it) const BY_SIDE_FUNC(is) |
| template<typename T > | |
| tstr< T > | as () const |
| str | as (const typeProvidable &to) const |
| str | as (const typeProvidable *it) const BY_SIDE_FUNC(as) |
| str | as (const type &to) const |
| str | as (const type *it) const BY_SIDE_FUNC(as) |
| template<typename T > | |
| nbool | isImpli () const |
| virtual nbool | isImpli (const type &to) const |
| nbool | isImpli (const typeProvidable &to) const |
| nbool | isImpli (const typeProvidable *it) const BY_SIDE_FUNC(isImpli) |
| template<typename T > | |
| tstr< T > | asImpli () const |
| virtual str | asImpli (const type &to) const |
| str | asImpli (const typeProvidable &to) const |
| str | asImpli (const typeProvidable *it) const BY_SIDE_FUNC(asImpli) |
| virtual nbool | isComplete () const |
| virtual str | infer () const |
| virtual void | accept (const visitInfo &i, visitor &v) |
| void | inFrame (const bicontainable *args) const override |
| void | outFrame () const override |
| virtual void | inFrame (const bicontainable *args) const=0 |
| void | inFrame () const |
| virtual void | outFrame () const=0 |
by::frameInteractable(으)로부터 상속된 Public 멤버 함수 | |
| void | inFrame () const |
by::baseFunc(으)로부터 상속된 정적 Public 멤버 함수 | |
| static nbool | isFuncButNotClosure (const node &n) |
| Checks if the given node represents a function that is not a closure. | |
| static nbool | isFuncButNotClosure (const node *it) BY_SIDE_FUNC(isFuncButNotClosure) |
by::node(으)로부터 상속된 Public 속성 | |
| T sub | name |
| T sub | nullptr |
| tpriorities< T > subAll< T > | name |
| priorType prioritize | it |
| priorType prioritize | NO_MATCH |
| str eval | name |
by::func(으)로부터 상속된 정적 Public 속성 | |
| static const std::string | LAMBDA_NAME = "@lambda" |
| static const std::string | CTOR_NAME = "@ctor" |
| static const std::string | GETTER_NAME = "@get" |
| static const std::string | SETTER_NAME = "@set" |
| static const std::array< std::string, 4 > | SPECIAL_FUNC_NAMES |
by::baseFunc(으)로부터 상속된 정적 Public 속성 | |
| static const std::string | ME = "me" |
Nested function with captured scope
Function that captures local scope at creation time. Clones function with shallow copied block scope for variable capture in closures.
Overrides base class to handle frame interaction and local scope capture for nested functions.
This method ensures that the nested function correctly captures and maintains its local scope from its creation context, which is crucial for closures.
| meObj | The "me" object (context) for this nested function call. |
| s | The scope associated with this function. |
| exN | An index related to exception handling. |
str object representing the result of the frame interaction. by::func(으)로부터 재구현되었습니다.