ELC in dev
ELC-lang
载入中...
搜索中...
未找到
elc::defs::namespace_n::namespace_t结构体 参考

Public 成员函数

value get_symbol_type_map (ptr thenamespace)
 
 namespace_t () noexcept
 
ptr get_symbol_namespace (const value index)
 
ptr get_symbol_namespace (auto &&index)
 
bool has_symbol (const value index)
 
bool has_symbol (auto &&index)
 
value get_symbol (const value index)
 
value get_symbol (auto &&index)
 
value get_symbol_type (const value index)
 
value get_symbol_type (auto &&index)
 
void inter_namespace (const value namespace_name)
 
void inter_namespace (auto &&index)
 
void leave_namespace ()
 

Public 属性

ptr _namespace_root
 
weak_ptr _namespace_now
 

详细描述

在文件 all_defs.cpp53975 行定义.

构造及析构函数说明

◆ namespace_t()

elc::defs::namespace_n::namespace_t::namespace_t ( )
inlinenoexcept

在文件 all_defs.cpp53981 行定义.

53981 {
53983 auto&nmsp = *_namespace_root;
53985 push_and_disable_msvc_warning(26447);//may throw警告diss
53986 nmsp[es".."] = the_void;
53987 nmsp[es"."] = nmsp;
53988 nmsp[es"t"] = t;
53989 nmsp[es"nil"] = nil;
53990 nmsp[es"void"] = the_void;
53993 nmsptm[es"void"] = es"void";
53995 }
#define pop_msvc_warning()
Definition all_defs.cpp:478
#define es
Definition all_defs.cpp:680
#define push_and_disable_msvc_warning(...)
Definition all_defs.cpp:479
void the_void
constexpr T down_cast(U a) noexcept
向下转型至
elc::defs::core::nil_t nil
elc::defs::core::t_t t
value get_symbol_type_map(ptr thenamespace)

成员函数说明

◆ get_symbol() [1/2]

value elc::defs::namespace_n::namespace_t::get_symbol ( auto &&  index)
inline

在文件 all_defs.cpp54013 行定义.

54013{ return get_symbol(as_value(index)); }
decltype(auto) as_value(T &&a) noexcept(as_value_nothrow_helper< T >())
value get_symbol(const value index)
函数调用图:
这是这个函数的调用关系图:

◆ get_symbol() [2/2]

value elc::defs::namespace_n::namespace_t::get_symbol ( const value  index)
inline

在文件 all_defs.cpp54010 行定义.

54010 {
54011 return (*get_symbol_namespace(index))[index];
54012 }
ptr get_symbol_namespace(const value index)

◆ get_symbol_namespace() [1/2]

ptr elc::defs::namespace_n::namespace_t::get_symbol_namespace ( auto &&  index)
inline

在文件 all_defs.cpp54002 行定义.

54002{ return get_symbol_namespace(as_value(index)); }
函数调用图:
这是这个函数的调用关系图:

◆ get_symbol_namespace() [2/2]

ptr elc::defs::namespace_n::namespace_t::get_symbol_namespace ( const value  index)
inline

在文件 all_defs.cpp53996 行定义.

53996 {
53999 namespace_now_p = (*namespace_now_p)[es".."];
54000 return namespace_now_p;
54001 }
comn_ptr_t< node_like > ptr

◆ get_symbol_type() [1/2]

value elc::defs::namespace_n::namespace_t::get_symbol_type ( auto &&  index)
inline

在文件 all_defs.cpp54017 行定义.

54017{ return get_symbol_type(as_value(index)); }
value get_symbol_type(const value index)
函数调用图:
这是这个函数的调用关系图:

◆ get_symbol_type() [2/2]

value elc::defs::namespace_n::namespace_t::get_symbol_type ( const value  index)
inline

在文件 all_defs.cpp54014 行定义.

54014 {
54015 return get_symbol_type_map(get_symbol_namespace(index))[index];
54016 }

◆ get_symbol_type_map()

value elc::defs::namespace_n::namespace_t::get_symbol_type_map ( ptr  thenamespace)
inline

在文件 all_defs.cpp53978 行定义.

53978 {
53979 return (*thenamespace)[es".symbol_type_map"];
53980 }

◆ has_symbol() [1/2]

bool elc::defs::namespace_n::namespace_t::has_symbol ( auto &&  index)
inline

在文件 all_defs.cpp54009 行定义.

54009{ return has_symbol(as_value(index)); }
bool has_symbol(const value index)
函数调用图:
这是这个函数的调用关系图:

◆ has_symbol() [2/2]

bool elc::defs::namespace_n::namespace_t::has_symbol ( const value  index)
inline

在文件 all_defs.cpp54003 行定义.

54003 {
54004 auto nmsp=get_symbol_namespace(index);
54005 if((*nmsp)[index] || get_symbol_type_map(nmsp)[index])
54006 return true;
54007 return false;
54008 }

◆ inter_namespace() [1/2]

void elc::defs::namespace_n::namespace_t::inter_namespace ( auto &&  index)
inline

在文件 all_defs.cpp54022 行定义.

54022{ inter_namespace(as_value(index)); }
void inter_namespace(const value namespace_name)
函数调用图:
这是这个函数的调用关系图:

◆ inter_namespace() [2/2]

void elc::defs::namespace_n::namespace_t::inter_namespace ( const value  namespace_name)
inline

在文件 all_defs.cpp54019 行定义.

54019 {
54021 }

◆ leave_namespace()

void elc::defs::namespace_n::namespace_t::leave_namespace ( )
inline

在文件 all_defs.cpp54024 行定义.

54024{ inter_namespace(es".."); }

类成员变量说明

◆ _namespace_now

weak_ptr elc::defs::namespace_n::namespace_t::_namespace_now

在文件 all_defs.cpp53977 行定义.

◆ _namespace_root

ptr elc::defs::namespace_n::namespace_t::_namespace_root

在文件 all_defs.cpp53976 行定义.


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