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

Function or object evaluation arguments. More...

#include <args.hpp>

Inheritance diagram for by::args:
by::tnarr< node > by::tnucontainer< T, R, RSquare > by::tarrayable< T, R, RSquare > by::tucontainable< T, R, RSquare >

Public Member Functions

 args (const narr &rhs)
 
 args (const baseObj *me)
 
 args (const baseObj *me, const narr &rhs)
 
 args (const me &rhs)
 
const me & setMe (const node &me) const
 Sets the "me" object (context) for these arguments.
 
const me & setMe (const node *me) const BY_SIDE_FUNC(me
 
nodegetMe () const
 
std::string toStr () const
 
tmay< me > evalAll (const params &ps) const
 Evaluates all arguments against a given set of parameters.
 
tmay< me > evalAll (const params *it) const BY_SIDE_FUNC(evalAll)
 
- Public Member Functions inherited from by::tnarr< node >
 tnarr (const Es &... elems)
 
 tnarr (const me &rhs)
 
me & operator= (const me &rhs)=default
 
nodeoperator[] (nidx n) override
 
ncnt len () const override
 
nbool in (nidx n) const override
 
nodeget (nidx n) override
 
nbool set (const iter &at, const node &new1) override
 
nbool set (nidx n, const node &new1) override
 
nbool add (const iter &e, const node &new1) override
 
nbool add (nidx n, const node &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)
 

Public Attributes

const me setMe me
 
const me setMethis
 
- 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
 

Additional Inherited Members

- Public Types inherited from by::tnarr< node >
typedef tstr< node, strTactic > wrap
 
typedef super::iter iter
 
typedef super::iteration iteration
 
- Protected Member Functions inherited from by::tnarr< node >
iteration_onMakeIteration (ncnt step, nbool isReversed) const override
 

Detailed Description

Function or object evaluation arguments.

Represents arguments passed for eval() of functions or objects. Inherits from narr, so all narr APIs can be used.

Me Object

args is characterized by including a me object when passed. For example, with functions, the function fundamentally cannot know from which runtime object the eval() request came. Unlike some other languages, it doesn't create a hidden thisptr in args. Through separate setMe(), functions or properties using args can know from which object these args were passed.

Note that baseObj calls setMe(this) to place itself in args when eval(name, args) is called.

Member Function Documentation

◆ evalAll()

tmay< me > by::args::evalAll ( const params & ps) const

Evaluates all arguments against a given set of parameters.

This is an important step in function/method invocation, ensuring that the provided arguments match the expected parameters.

Parameters
psThe parameters to evaluate the arguments against.
Returns
A tmay containing an args object with evaluated arguments on success, or an empty tmay if evaluation fails.

◆ setMe()

const me & by::args::setMe ( const node & me) const

Sets the "me" object (context) for these arguments.

This method is const because the _me member is mutable, allowing the context to be set even for const argument instances.

Parameters
meThe node representing the "me" (context) object.
Returns
A const reference to this args instance.

◆ toStr()

std::string by::args::toStr ( ) const
Remarks
in order to call this func, you must have prepared thread and frames.

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