ELC in dev
ELC-lang
载入中...
搜索中...
未找到
elc::defs::base::literal_support 命名空间参考

class  fast_integer_iterator
 
class  integer_iterator
 
class  signed_float_literal_evaler
 
class  signed_integer_literal_evaler
 
class  unsigned_float_literal_evaler
 
class  unsigned_integer_literal_evaler
 

类型定义

template<class integer_T , unsigned base>
using integer_iterator_t = conditional< is_big_type< integer_T >, fast_integer_iterator< integer_T, base >, integer_iterator< integer_T, base > >
 

函数

constexpr uint8_t hexval (char c) noexcept
 
template<unsigned base>
constexpr void base_checker () noexcept
 
template<unsigned base, char c>
constexpr void char_checker () noexcept
 

类型定义说明

◆ integer_iterator_t

函数说明

◆ base_checker()

template<unsigned base>
constexpr void elc::defs::base::literal_support::base_checker ( )
constexprnoexcept

在文件 all_defs.cpp2506 行定义.

2506 {
2507 static_assert(base==16||base==10||base==8||base==2,"base must be 16,10,8 or 2");
2508 }
函数调用图:
这是这个函数的调用关系图:

◆ char_checker()

template<unsigned base, char c>
constexpr void elc::defs::base::literal_support::char_checker ( )
constexprnoexcept

在文件 all_defs.cpp2510 行定义.

2510 {
2511 static_assert(c>='0'&&c<='9'||c>='a'&&c<='f'||c>='A'&&c<='F',"invalid char");
2512 static_assert(base>hexval(c),"invalid char");
2513 }
constexpr uint8_t hexval(char c) noexcept
函数调用图:
这是这个函数的调用关系图:

◆ hexval()

constexpr uint8_t elc::defs::base::literal_support::hexval ( char  c)
constexprnoexcept

在文件 all_defs.cpp2452 行定义.

2452 {
2453 if constexpr('a'>'A'){
2454 if(c>='a')
2455 return c+10-'a';
2456 elseif(c>='A')
2457 return c+10-'A';
2458 }
2459 else{
2460 if(c>='A')
2461 return c+10-'A';
2462 elseif(c>='a')
2463 return c+10-'a';
2464 }
2465 return c-'0';
2466 }
else
#define elseif
Definition all_defs.cpp:650
函数调用图:
这是这个函数的调用关系图: