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

Public 类型

typedef cons this_t
 

Public 成员函数

 cons (ptr car, ptr cdr)
 
virtual base_type_info_t get_type_info () const noexcept override
 
virtual value arec (const value index) override
 
virtual void clear () noexcept override
 

Public 属性

value _car
 
value _cdr
 

Protected 成员函数

virtual logical_bool was_equal_with (const_ptr a) const noexcept override
 

详细描述

在文件 all_defs.cpp33221 行定义.

成员类型定义说明

◆ this_t

构造及析构函数说明

◆ cons()

elc::defs::core::cons::cons ( ptr  car,
ptr  cdr 
)
inline

在文件 all_defs.cpp33227 行定义.

33227 {
33228 _car = car;
33229 _cdr = cdr;
33230 }
constexpr T down_cast(U a) noexcept
向下转型至

成员函数说明

◆ arec()

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

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

在文件 all_defs.cpp33241 行定义.

33241 {
33242 const_ptr v=index;
33243 if(v==&nil)
33244 return _cdr;
33245 elseif(v==&t)
33246 return _car;
33247 else{
33249 _car >> car_of(to);
33250 _cdr >> cdr_of(to);
33251 be_replace_as(to);
33252 return (*to)[v];
33253 }
33254 }
#define elseif
Definition all_defs.cpp:650
constexpr to_t< T > to(T v)
comn_ptr_t< const node_like > const_ptr
value cdr_of(ptr p)
comn_ptr_t< node_like > ptr
value car_of(ptr p)
elc::defs::core::nil_t nil
elc::defs::core::t_t t
virtual void be_replace_as(ptr a) noexcept
函数调用图:

◆ clear()

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

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

在文件 all_defs.cpp33256 行定义.

void the_void
decltype(auto) as_value(T &&a) noexcept(as_value_nothrow_helper< T >())
函数调用图:

◆ get_type_info()

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

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

elc::defs::core::expr , 以及 elc::defs::core::code_list 重载.

在文件 all_defs.cpp33232 行定义.

33232{return type_info<cons>;}

◆ was_equal_with()

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

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

在文件 all_defs.cpp33234 行定义.

33234 {
33235 if(a->get_type_info() != this->get_type_info())
33236 return false;
33237 const this_t*p=down_cast<const this_t*>(a.get());
33238 return _car==p->_car&&_cdr==p->_cdr;
33239 }

类成员变量说明

◆ _car

value elc::defs::core::cons::_car

在文件 all_defs.cpp33224 行定义.

◆ _cdr

value elc::defs::core::cons::_cdr

在文件 all_defs.cpp33225 行定义.


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