|
NexusForce 1.0.0
A rigorously engineered full-stack C++ backend library.
|
检查类型的基本修饰信息 更多...
类型定义 | |
| template<typename T> | |
| using | neforce::underlying_type_t = typename underlying_type<T>::type |
| underlying_type的便捷别名 | |
函数 | |
| template<typename T, typename Mem> | |
| constexpr bool | neforce::is_pointer_interconvertible_with_class (Mem T::*mp) noexcept |
| 判断成员指针是否指向类对象的起始位置 | |
| template<typename S1, typename S2, typename M1, typename M2> | |
| constexpr bool | neforce::is_corresponding_member (M1 S1::*m1, M2 S2::*m2) noexcept |
| 判断两个成员指针是否指向对应位置的成员 | |
变量 | |
| template<typename T> | |
| constexpr bool | neforce::is_bounded_array_v = is_bounded_array<T>::value |
| is_bounded_array的便捷变量模板 | |
| template<typename T> | |
| constexpr bool | neforce::is_unbounded_array_v = is_unbounded_array<T>::value |
| is_unbounded_array的便捷变量模板 | |
| template<typename T> | |
| constexpr bool | neforce::is_array_v = is_array<T>::value |
| is_array的便捷变量模板 | |
| template<typename T> | |
| constexpr bool | neforce::is_lvalue_reference_v = is_lvalue_reference<T>::value |
| is_lvalue_reference的便捷变量模板 | |
| template<typename T> | |
| constexpr bool | neforce::is_rvalue_reference_v = is_rvalue_reference<T>::value |
| is_rvalue_reference的便捷变量模板 | |
| template<typename T> | |
| constexpr bool | neforce::is_reference_v = is_reference<T>::value |
| is_reference的便捷变量模板 | |
| template<typename T> | |
| constexpr bool | neforce::is_null_pointer_v = is_null_pointer<T>::value |
| is_null_pointer的便捷变量模板 | |
| template<typename T> | |
| constexpr bool | neforce::is_pointer_v = is_pointer<T>::value |
| is_pointer的便捷变量模板 | |
| template<typename T> | |
| constexpr bool | neforce::is_enum_v = is_enum<T>::value |
| is_enum的便捷变量模板 | |
| template<typename T> | |
| constexpr bool | neforce::is_integral_like_v = is_integral_like<T>::value |
| is_integral_like的便捷变量模板 | |
| template<typename T> | |
| constexpr bool | neforce::is_union_v = is_union<T>::value |
| is_union的便捷变量模板 | |
| template<typename T> | |
| constexpr bool | neforce::is_class_v = is_class<T>::value |
| is_class的便捷变量模板 | |
| template<typename T> | |
| constexpr bool | neforce::is_fundamental_v = is_fundamental<T>::value |
| is_fundamental的便捷变量模板 | |
| template<typename T> | |
| constexpr bool | neforce::is_compound_v = is_compound<T>::value |
| is_compound的便捷变量模板 | |
| template<typename T> | |
| constexpr bool | neforce::is_const_v = is_const<T>::value |
| is_const的便捷变量模板 | |
| template<typename T> | |
| constexpr bool | neforce::is_volatile_v = is_volatile<T>::value |
| is_volatile的便捷变量模板 | |
| template<typename T> | |
| constexpr bool | neforce::is_function_v = is_function<T>::value |
| is_function的便捷变量模板 | |
| template<typename T> | |
| constexpr bool | neforce::is_allocable_v = is_allocable<T>::value |
| is_allocable的便捷变量模板 | |
| template<typename T> | |
| constexpr bool | neforce::is_object_v = is_object<T>::value |
| is_object的便捷变量模板 | |
| template<typename T> | |
| constexpr bool | neforce::is_cstring_v = is_cstring<T>::value |
| is_cstring的便捷变量模板 | |
| template<typename T> | |
| constexpr bool | neforce::is_member_function_pointer_v = is_member_function_pointer<T>::value |
| is_member_function_pointer的便捷变量模板 | |
| template<typename T> | |
| constexpr bool | neforce::is_member_object_pointer_v = is_member_object_pointer<remove_cv_t<T>>::value |
| is_member_object_pointer的便捷变量模板 | |
| template<typename T> | |
| constexpr bool | neforce::is_member_pointer_v = is_member_pointer<T>::value |
| is_member_pointer的便捷变量模板 | |
| template<typename T> | |
| constexpr bool | neforce::is_scalar_v = is_scalar<T>::value |
| is_scalar的便捷变量模板 | |
| template<typename T> | |
| constexpr bool | neforce::is_empty_v = is_empty<T>::value |
| is_empty的便捷变量模板 | |
| template<typename T> | |
| constexpr bool | neforce::is_polymorphic_v = is_polymorphic<T>::value |
| is_polymorphic的便捷变量模板 | |
| template<typename T> | |
| constexpr bool | neforce::is_abstract_v = is_abstract<T>::value |
| is_abstract的便捷变量模板 | |
| template<typename T> | |
| constexpr bool | neforce::is_final_v = is_final<T>::value |
| is_final的便捷变量模板 | |
| template<typename T> | |
| constexpr bool | neforce::is_standard_layout_v = is_standard_layout<T>::value |
| is_standard_layout的便捷变量模板 | |
| template<typename T> | |
| constexpr bool | neforce::is_pod_v = is_pod<T>::value |
| is_pod的便捷变量模板 | |
| template<typename T> | |
| constexpr bool | neforce::has_unique_object_representations_v = has_unique_object_representations<T>::value |
| has_unique_object_representations的便捷变量模板 | |
| template<typename T> | |
| constexpr bool | neforce::is_aggregate_v = is_aggregate<T>::value |
| is_aggregate的便捷变量模板 | |
| template<typename T1, typename T2> | |
| constexpr bool | neforce::is_layout_compatible_v = is_layout_compatible<T1, T2>::value |
| is_layout_compatible的便捷变量模板 | |
| template<typename Base, typename Derived> | |
| constexpr bool | neforce::is_pointer_interconvertible_base_of_v |
| is_pointer_interconvertible_base_of的便捷变量模板 | |
| template<typename Base, typename Derived> | |
| constexpr bool | neforce::is_base_of_v = is_base_of<Base, Derived>::value |
| is_base_of的便捷变量模板 | |
检查类型的基本修饰信息
|
constexprnoexcept |
判断两个成员指针是否指向对应位置的成员
| S1 | 第一个类类型 |
| S2 | 第二个类类型 |
| M1 | 第一个成员类型 |
| M2 | 第二个成员类型 |
| m1 | 第一个成员指针 |
| m2 | 第二个成员指针 |
用于检查两个不同类中的成员指针是否指向布局中的对应位置。
在文件 type_traits.hpp 第 2285 行定义.
引用了 is_corresponding_member().
被这些函数引用 is_corresponding_member().
|
constexprnoexcept |
判断成员指针是否指向类对象的起始位置
| T | 类类型 |
| Mem | 成员类型 |
| mp | 成员指针 |
用于检查成员指针是否与类对象指针可互相转换。
在文件 type_traits.hpp 第 2268 行定义.