1#ifndef NEFORCE_CORE_TYPEINFO_TYPES_HPP__
2#define NEFORCE_CORE_TYPEINFO_TYPES_HPP__
13NEFORCE_BEGIN_NAMESPACE__
45#ifdef NEFORCE_PLATFORM_WINDOWS
56#ifdef NEFORCE_PLATFORM_WINDOWS
88#ifdef NEFORCE_PLATFORM_LINUX64
119#ifdef NEFORCE_PLATFORM_LINUX64
154#if defined(NEFORCE_ARCH_BITS_64) || defined(NEXUSFORCE_ENABLE_DOXYGEN)
363struct input_iterator_tag {
364 constexpr explicit input_iterator_tag() =
default;
379struct output_iterator_tag {
380 constexpr explicit output_iterator_tag() =
default;
395struct forward_iterator_tag : input_iterator_tag {
396 constexpr explicit forward_iterator_tag() =
default;
410struct bidirectional_iterator_tag : forward_iterator_tag {
411 constexpr explicit bidirectional_iterator_tag() =
default;
427struct random_access_iterator_tag : bidirectional_iterator_tag {
428 constexpr explicit random_access_iterator_tag() =
default;
443struct contiguous_iterator_tag : random_access_iterator_tag {
444 constexpr explicit contiguous_iterator_tag() =
default;
464struct allocator_arg_tag {
465 constexpr explicit allocator_arg_tag()
noexcept =
default;
474struct default_construct_tag {
475 constexpr explicit default_construct_tag()
noexcept =
default;
484struct exact_arg_construct_tag {
485 constexpr explicit exact_arg_construct_tag()
noexcept =
default;
495struct inplace_construct_tag {
496 constexpr explicit inplace_construct_tag()
noexcept =
default;
505template <
typename... Args>
506struct pass_template_construct_tag {
507 constexpr explicit pass_template_construct_tag()
noexcept =
default;
510template <
size_t Size>
511struct pass_size_construct_tag {
512 constexpr explicit pass_size_construct_tag() noexcept = default;
521struct unpack_utility_construct_tag {
522 constexpr explicit unpack_utility_construct_tag()
noexcept =
default;
528 template <
typename T>
529 NEFORCE_CONSTEXPR14
const ignore_t& operator=(
const T& )
const noexcept {
534NEFORCE_INLINE17
constexpr ignore_t ignore{};
536NEFORCE_END_NAMESPACE__
unsigned char uint8_t
8位无符号整数类型
unsigned char byte_t
字节类型,定义为无符号字符
float float32_t
32位单精度浮点数类型
unsigned int uint32_t
32位无符号整数类型
long double decimal_t
扩展精度浮点数类型
long long int64_t
64位有符号整数类型
double float64_t
64位双精度浮点数类型
unsigned short uint16_t
16位无符号整数类型
unsigned long long uint64_t
64位无符号整数类型
unsigned long native_size_type
系统ID类型
void * native_handle_type
系统句柄类型
signed char int8_t
8位有符号整数类型
decltype(nullptr) nullptr_t
空指针类型