ELC in dev
ELC-lang
|
命名空间 | |
namespace | array_like_n |
namespace | bit |
namespace | constexpr_str_n |
namespace | function_base_n |
namespace | hash_n |
namespace | iterator_n |
namespace | literal_support |
namespace | magic_number |
namespace | math |
namespace | note_n |
namespace | null_ptr_n |
namespace | range_n |
namespace | sort_n |
namespace | string_view_n |
概念 | |
concept | is_pointer |
判断类型是否为指针 | |
类型定义 | |
template<class T > | |
using | remove_cvref = ::std::remove_cvref_t< T > |
template<class T > | |
using | remove_cv = ::std::remove_cv_t< T > |
template<class T > | |
using | remove_ref = ::std::remove_reference_t< T > |
template<bool B, class T , class F > | |
using | conditional = ::std::conditional_t< B, T, F > |
typedef decltype(null_ptr) | null_ptr_t |
typedef decltype(nullptr) | nullptr_t |
typedef void * | pointer |
未知类型指针 | |
typedef const void * | const_pointer |
未知类型指针,不可写 | |
typedef hash_n::hash_value_t | hash_t |
typedef hash_n::unstable_hash_value_t | unstable_hash_t |
枚举 | |
enum class | flag_set_type : bool { seted =true , not_set =false } |
enum class | mark_type : bool { marked =true , not_mark =false } |
函数 | |
template<class T , class U > | |
auto | template_warning_helper (U &&a) noexcept |
template<typename T , typename U > | |
auto & | assign (T &&a, U &&b) noexcept(noexcept((a=b))) |
void | the_destroy () noexcept=delete |
template<typename T > | |
static void | destroy (T *a) noexcept |
template<typename T1 , typename T2 > | |
constexpr void | swap (T1 &a, T2 &b) |
template<typename T1 , typename T2 > | |
constexpr T1 | swap (T1 &a, const T2 &b) |
template<typename T > | |
constexpr const T | add_const (T a) noexcept |
对值追加const | |
template<typename T > | |
constexpr const T | add_const_by_value (T a) noexcept |
template<typename T > | |
constexpr const T & | add_const (T &a) noexcept |
对引用追加const | |
template<typename T > | |
constexpr const T & | add_const_by_ref (T &a) noexcept |
template<typename T > | |
constexpr T & | remove_const (const T &a) noexcept |
对引用移除const | |
template<typename T > | |
constexpr T & | remove_const_by_ref (const T &a) noexcept |
template<typename T > | |
constexpr const T * | add_const (T *a) noexcept |
对指针追加const | |
template<typename T > | |
constexpr const T * | add_const_by_ptr (T *a) noexcept |
template<typename T > | |
constexpr T * | remove_const (const T *a) noexcept |
对指针移除const | |
template<typename T > | |
constexpr T * | remove_const_by_ptr (const T *a) noexcept |
template<typename T > | |
constexpr T * | launder_remove_const (const T *a) noexcept |
对指针移除const | |
template<typename T > | |
constexpr T * | launder_remove_const_by_ptr (const T *a) noexcept |
template<typename T , typename U > | |
constexpr T | down_cast (U a) noexcept |
向下转型至 | |
template<class T , class attribute_name > | |
T * | get_handle (attribute< T, attribute_name > *a) noexcept |
template<class T , class attribute_name > | |
const T * | get_handle (const attribute< T, attribute_name > *a) noexcept |
template<class T , template< class >class attribute_name> | |
T * | get_handle (attribute< T, attribute_name< T > > *a) noexcept |
template<class T , template< class >class attribute_name> | |
const T * | get_handle (const attribute< T, attribute_name< T > > *a) noexcept |
template<class attribute_name , class T > | |
auto | attribute_ptr_cast (T *ptr) noexcept |
template<class attribute_name , class T > | |
auto | attribute_ptr_cast (const T *ptr) noexcept |
template<class attribute_name , class T > | |
auto & | attribute_cast (T &t) noexcept |
template<class T > | |
constexpr bool | operator== (const type_info_t< T > &, const type_info_t< T > &) |
template<class T , class U > | |
constexpr bool | operator== (const type_info_t< T > &, const type_info_t< U > &) |
template<typename T > | |
constexpr auto | is_eq (T &&a, T &&b) noexcept(noexcept((&a==&b))) |
template<typename T > | |
constexpr auto | is_not_eq (T &&a, T &&b) noexcept(noexcept((!is_eq(a, b)))) |
template<class T > | |
constexpr T & | data_cast (byte *p) noexcept |
template<class T > | |
constexpr T & | launder_data_cast (byte *p) noexcept |
template<class T > | |
constexpr T * | data_ptr_cast (byte *p) noexcept |
template<class T > | |
constexpr T * | launder_data_ptr_cast (byte *p) noexcept |
template<class T > | |
constexpr byte * | cast_to_data (T *p) noexcept |
template<class T > | |
constexpr byte * | launder_cast_to_data (T *p) noexcept |
template<class T > | |
constexpr const byte * | cast_to_data (const T *p) noexcept |
template<class T > | |
constexpr const byte * | launder_cast_to_data (const T *p) noexcept |
template<class U , class T > | |
constexpr U & | union_cast (T &&t) noexcept |
template<class U , class T > | |
constexpr U & | launder_union_cast (T &&t) noexcept |
template<class T > | |
constexpr bool | full_equal_in_byte (const T &a, const T &b) noexcept |
void | the_pointer_to_bool () noexcept=delete |
template<typename T > | |
constexpr auto | pointer_to_bool (T *a) noexcept |
指针转bool的重载接口,允许类对此进行自定义 elc内部的指针转bool应当视情况使用默认配置或此重载接口 | |
void | the_pointer_equal () noexcept=delete |
template<typename T > | |
constexpr auto | pointer_equal (T *a, T *b) noexcept |
指针比较的重载接口,允许类对此进行自定义 elc内部的指针比较应当视情况使用默认配置或此重载接口 | |
constexpr ptrdiff_t | get_off_set (note::from_t< const_pointer >a, note::to_t< const_pointer >b) noexcept |
获取两个指针的偏移 | |
template<class T > | |
constexpr auto | apply_off_set (T *a, ptrdiff_t c) noexcept |
应用偏移 | |
template<class T > | |
constexpr auto | unapply_off_set (T *b, ptrdiff_t c) noexcept |
反向应用偏移 | |
template<class T > | |
constexpr bool | is_all_byte_zero (T &&a) noexcept |
template<class T > | |
size_t | the_number_of (type_info_t< T >) noexcept |
using elc::defs::base::conditional = typedef ::std::conditional_t<B,T,F> |
在文件 all_defs.cpp 第 841 行定义.
未知类型指针,不可写
在文件 all_defs.cpp 第 9332 行定义.
typedef decltype(null_ptr) elc::defs::base::null_ptr_t |
在文件 all_defs.cpp 第 8843 行定义.
在文件 all_defs.cpp 第 8844 行定义.
未知类型指针
在文件 all_defs.cpp 第 9330 行定义.
using elc::defs::base::remove_cv = typedef ::std::remove_cv_t<T> |
在文件 all_defs.cpp 第 837 行定义.
using elc::defs::base::remove_cvref = typedef ::std::remove_cvref_t<T> |
在文件 all_defs.cpp 第 835 行定义.
using elc::defs::base::remove_ref = typedef ::std::remove_reference_t<T> |
在文件 all_defs.cpp 第 839 行定义.
在文件 all_defs.cpp 第 11105 行定义.
|
strong |
|
strong |
|
inlineconstexprnoexcept |
在文件 all_defs.cpp 第 1120 行定义.
|
inlineconstexprnoexcept |
在文件 all_defs.cpp 第 1110 行定义.
|
constexprnoexcept |
应用偏移
在文件 all_defs.cpp 第 9340 行定义.
|
inlinenoexcept |
在文件 all_defs.cpp 第 1335 行定义.
在文件 all_defs.cpp 第 1326 行定义.
|
inlinenoexcept |
|
inlineconstexprnoexcept |
功能: const T* 指针转换为 const byte*,不进行任何检查 用法: cast_to_data(const T*) -> const byte*
在文件 all_defs.cpp 第 9171 行定义.
功能: T* 指针转换为 byte*,不进行任何检查 用法: cast_to_data(T*) -> byte*
在文件 all_defs.cpp 第 9163 行定义.
功能: byte* 类型数据转换为 T&,不进行任何检查 用法: data_cast<T>(byte*) -> T&
在文件 all_defs.cpp 第 9147 行定义.
功能: byte* 类型数据转换为 T*,不进行任何检查 用法: data_ptr_cast<T>(byte*) -> T*
在文件 all_defs.cpp 第 9155 行定义.
在文件 all_defs.cpp 第 993 行定义.
|
inlineconstexprnoexcept |
|
constexprnoexcept |
功能: 比较两个类实例在内存中的内容是否相同 用法: full_equal_in_byte(const T&a,const T&b) -> bool
在文件 all_defs.cpp 第 9265 行定义.
|
inlinenoexcept |
在文件 all_defs.cpp 第 1312 行定义.
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
constexprnoexcept |
|
inlineconstexprnoexcept |
Returns true if all bytes in the input are zero.
a | The input value. |
在文件 all_defs.cpp 第 9399 行定义.
|
constexprnoexcept |
在文件 all_defs.cpp 第 1928 行定义.
|
inlineconstexprnoexcept |
对指针移除const
在文件 all_defs.cpp 第 1128 行定义.
|
constexpr |
|
constexpr |
在文件 all_defs.cpp 第 1535 行定义.
|
constexprnoexcept |
指针比较的重载接口,允许类对此进行自定义 elc内部的指针比较应当视情况使用默认配置或此重载接口
在文件 all_defs.cpp 第 9319 行定义.
指针转bool的重载接口,允许类对此进行自定义 elc内部的指针转bool应当视情况使用默认配置或此重载接口
在文件 all_defs.cpp 第 9308 行定义.
|
inlineconstexprnoexcept |
在文件 all_defs.cpp 第 1125 行定义.
|
inlineconstexprnoexcept |
在文件 all_defs.cpp 第 1115 行定义.
在文件 all_defs.cpp 第 1029 行定义.
在文件 all_defs.cpp 第 1010 行定义.
|
deletenoexcept |
|
inlinenoexcept |
|
deletenoexcept |
|
deletenoexcept |
功能: T& 转换为 U&,不进行任何检查 用法: union_cast<U>(T&) -> U&
在文件 all_defs.cpp 第 9179 行定义.
constexpr struct elc::defs::base::compare_t elc::defs::base::compare |
|
inline |
在文件 all_defs.cpp 第 989 行定义.
constexpr struct elc::defs::base::discard_t elc::defs::base::discard |
constexpr struct elc::defs::base::do_nothing_t elc::defs::base::do_nothing |
constexpr logical_bool elc::defs::base::either {special_init,1,1} |
在文件 all_defs.cpp 第 12442 行定义.
constexpr struct elc::defs::base::end_by_zero_t elc::defs::base::end_by_zero |
constexpr struct elc::defs::base::equal_t elc::defs::base::equal |
在文件 all_defs.cpp 第 12589 行定义.
|
constexpr |
在文件 all_defs.cpp 第 843 行定义.
constexpr struct elc::defs::base::just_an_part_t elc::defs::base::just_an_part |
constexpr struct elc::defs::base::max_t elc::defs::base::max |
|
inlineconstexpr |
功能: data_block辅助变量模板,接受数个类型并表现为其中的最大对齐值
在文件 all_defs.cpp 第 9187 行定义.
|
inlineconstexpr |
功能: data_block辅助变量模板,接受数个类型并表现为其中的最大大小值
在文件 all_defs.cpp 第 9192 行定义.
constexpr struct elc::defs::base::min_t elc::defs::base::min |
|
constexpr |
在文件 all_defs.cpp 第 12442 行定义.
constexpr struct elc::defs::base::never_ref_num_zero_t elc::defs::base::never_ref_num_zero |
|
constexpr |
每个T的可能性大小
在文件 all_defs.cpp 第 9140 行定义.
constexpr struct elc::defs::base::pre_alloc_t elc::defs::base::pre_alloc |
constexpr struct elc::defs::base::special_init_t elc::defs::base::special_init |
宏辅助,用以补全元编程错误宏template_error的内容.
在文件 all_defs.cpp 第 784 行定义.
|
constexpr |
在文件 all_defs.cpp 第 1530 行定义.
constexpr logical_bool elc::defs::base::unknown {special_init,0,0,1} |
在文件 all_defs.cpp 第 12442 行定义.
constexpr struct elc::defs::base::zero_t elc::defs::base::zero |