ELC in dev
ELC-lang
载入中...
搜索中...
未找到
elc::defs::core::base_binary_function_node结构体 参考
类 elc::defs::core::base_binary_function_node 继承关系图:
[图例]
elc::defs::core::base_binary_function_node 的协作图:
[图例]

Public 类型

typedef base_binary_function_node this_t
 

Public 成员函数

 base_binary_function_node (function_t< value(ptr)> func) noexcept
 
 base_binary_function_node (function_t< void(ptr)> func) noexcept
 
 base_binary_function_node (function_t< void()> func) noexcept
 
virtual base_type_info_t get_type_info () const noexcept override
 
virtual value be_call (ptr arg_list) override
 
virtual value arec (const value index) override
 
virtual void clear () noexcept override
 

Public 属性

function_t< value(ptr)> _func
 

Protected 成员函数

virtual logical_bool was_equal_with (const_ptr a) const noexcept override
 

详细描述

在文件 all_defs.cpp33348 行定义.

成员类型定义说明

◆ this_t

构造及析构函数说明

◆ base_binary_function_node() [1/3]

elc::defs::core::base_binary_function_node::base_binary_function_node ( function_t< value(ptr)>  func)
inlinenoexcept

在文件 all_defs.cpp33353 行定义.

33353:_func(func){}

◆ base_binary_function_node() [2/3]

elc::defs::core::base_binary_function_node::base_binary_function_node ( function_t< void(ptr)>  func)
inlinenoexcept

在文件 all_defs.cpp33354 行定义.

33354 {
33355 _func = λ_with_catch(func)(ptr p)mutable{
33356 func(p);
33357 return as_value(the_void);
33358 };
33359 }
#define λ_with_catch(...)
Definition all_defs.cpp:627
void the_void
constexpr T down_cast(U a) noexcept
向下转型至
decltype(auto) as_value(T &&a) noexcept(as_value_nothrow_helper< T >())
comn_ptr_t< node_like > ptr
函数调用图:

◆ base_binary_function_node() [3/3]

elc::defs::core::base_binary_function_node::base_binary_function_node ( function_t< void()>  func)
inlinenoexcept

在文件 all_defs.cpp33360 行定义.

33360 {
33361 _func = λ_with_catch(func)(ptr)mutable{
33362 func();
33363 return as_value(the_void);
33364 };
33365 }
函数调用图:

成员函数说明

◆ arec()

virtual value elc::defs::core::base_binary_function_node::arec ( const value  index)
inlineoverridevirtual

实现了 elc::defs::core::node_like.

在文件 all_defs.cpp33382 行定义.

33382{return the_void[index];}

◆ be_call()

virtual value elc::defs::core::base_binary_function_node::be_call ( ptr  arg_list)
inlineoverridevirtual

重载 elc::defs::core::node_like .

在文件 all_defs.cpp33368 行定义.

33368{return _func(arg_list);}

◆ clear()

virtual void elc::defs::core::base_binary_function_node::clear ( )
inlineoverridevirtualnoexcept

实现了 elc::defs::core::node_like.

在文件 all_defs.cpp33384 行定义.

33384{_func=nullptr;}

◆ get_type_info()

virtual base_type_info_t elc::defs::core::base_binary_function_node::get_type_info ( ) const
inlineoverridevirtualnoexcept

实现了 elc::defs::core::node_like.

在文件 all_defs.cpp33367 行定义.

33367{return type_info<this_t>;}

◆ was_equal_with()

virtual logical_bool elc::defs::core::base_binary_function_node::was_equal_with ( const_ptr  a) const
inlineoverrideprotectedvirtualnoexcept

实现了 elc::defs::core::node_like.

在文件 all_defs.cpp33370 行定义.

33370 {
33371 if(a->get_type_info() != this->get_type_info())
33372 return false;
33373 const this_t*p=down_cast<const this_t*>(a.get());
33374 try{
33375 return _func==p->_func;
33376 }
33377 catch(...){
33378 return unknown;
33379 }
33380 }
constexpr logical_bool unknown

类成员变量说明

◆ _func

function_t<value(ptr)> elc::defs::core::base_binary_function_node::_func

在文件 all_defs.cpp33351 行定义.


该结构体的文档由以下文件生成: