NexusForce 1.0.0
A Modern C++ Library with extended functionality, web components, and utility libraries
载入中...
搜索中...
未找到
types.hpp
浏览该文件的文档.
1#ifndef NEFORCE_CORE_TYPEINFO_TYPES_HPP__
2#define NEFORCE_CORE_TYPEINFO_TYPES_HPP__
3
10
12
13NEFORCE_BEGIN_NAMESPACE__
14
20
25using nullptr_t = decltype(nullptr);
26
31using max_align_t = double;
32
37using byte_t = unsigned char;
38
39
45#ifdef NEFORCE_PLATFORM_WINDOWS
46 unsigned long;
47#else
48 int;
49#endif
50
56#ifdef NEFORCE_PLATFORM_WINDOWS
57 void*;
58#else
59 int;
60#endif
61
62
67using int8_t = signed char;
68
73using int16_t = short;
74
79using int32_t = int;
80
87using int64_t =
88#ifdef NEFORCE_PLATFORM_LINUX64
89 long;
90#else
91 long long;
92#endif
93
98using uint8_t = unsigned char;
99
104using uint16_t = unsigned short;
105
110using uint32_t = unsigned int;
111
118using uint64_t =
119#ifdef NEFORCE_PLATFORM_LINUX64
120 unsigned long;
121#else
122 unsigned long long;
123#endif
124
125
130using float32_t = float;
131
136using float64_t = double;
137
144using decimal_t = long double;
145 // CoreTypes
147
153
154#if defined(NEFORCE_ARCH_BITS_64) || defined(NEXUSFORCE_ENABLE_DOXYGEN)
155
163
171
179
187
195
196#else
197
202using size_t = uint32_t;
203
208using ssize_t = int32_t;
209
214using ptrdiff_t = int32_t;
215
220using intptr_t = int32_t;
221
226using uintptr_t = uint32_t;
227
228#endif
229
230
236
242
248
254
260
266
272
278
284
290
296
302
308
314
320
326
327
333
339 // PlatformDependentTypes
341
349
363struct input_iterator_tag {
364 constexpr explicit input_iterator_tag() = default;
365};
366
379struct output_iterator_tag {
380 constexpr explicit output_iterator_tag() = default;
381};
382
395struct forward_iterator_tag : input_iterator_tag {
396 constexpr explicit forward_iterator_tag() = default;
397};
398
410struct bidirectional_iterator_tag : forward_iterator_tag {
411 constexpr explicit bidirectional_iterator_tag() = default;
412};
413
427struct random_access_iterator_tag : bidirectional_iterator_tag {
428 constexpr explicit random_access_iterator_tag() = default;
429};
430
443struct contiguous_iterator_tag : random_access_iterator_tag {
444 constexpr explicit contiguous_iterator_tag() = default;
445};
446 // IteratorTags
448
456
464struct allocator_arg_tag {
465 constexpr explicit allocator_arg_tag() noexcept = default;
466};
467
474struct default_construct_tag {
475 constexpr explicit default_construct_tag() noexcept = default;
476};
477
484struct exact_arg_construct_tag {
485 constexpr explicit exact_arg_construct_tag() noexcept = default;
486};
487
495struct inplace_construct_tag {
496 constexpr explicit inplace_construct_tag() noexcept = default;
497};
498
505struct unpack_utility_construct_tag {
506 constexpr explicit unpack_utility_construct_tag() noexcept = default;
507};
508 // ConstructionTags
510
511struct ignore_t {
512 template <typename T>
513 NEFORCE_CONSTEXPR14 const ignore_t& operator=(const T&) const noexcept {
514 return *this;
515 }
516};
517
518NEFORCE_INLINE17 constexpr ignore_t ignore{};
519
520NEFORCE_END_NAMESPACE__
521#endif // NEFORCE_CORE_TYPEINFO_TYPES_HPP__
核心配置头文件
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位无符号整数类型
double max_align_t
最大对齐类型
unsigned long long uint64_t
64位无符号整数类型
short int16_t
16位有符号整数类型
int int32_t
32位有符号整数类型
int native_size_type
系统ID类型
int native_handle_type
系统句柄类型
signed char int8_t
8位有符号整数类型
decltype(nullptr) nullptr_t
空指针类型
ssize_t int_fast16_t
快速16位有符号整数类型
int64_t intmax_t
最大有符号整数类型
uint64_t size_t
无符号大小类型
int64_t ssize_t
有符号大小类型
int64_t intptr_t
可容纳指针的有符号整数类型
uint64_t uint_least64_t
至少64位的无符号整数类型
ssize_t int_fast32_t
快速32位有符号整数类型
uint64_t uintptr_t
可容纳指针的无符号整数类型
int32_t int_least32_t
至少32位的有符号整数类型
uint8_t uint_least8_t
至少8位的无符号整数类型
uint64_t uint_fast64_t
快速64位无符号整数类型
int16_t int_least16_t
至少16位的有符号整数类型
int8_t int_least8_t
至少8位的有符号整数类型
uint16_t uint_least16_t
至少16位的无符号整数类型
uint8_t uint_fast8_t
快速8位无符号整数类型
size_t uint_fast32_t
快速32位无符号整数类型
uint64_t uintmax_t
最大无符号整数类型
int64_t ptrdiff_t
指针差类型
uint32_t uint_least32_t
至少32位的无符号整数类型
int8_t int_fast8_t
快速8位有符号整数类型
size_t uint_fast16_t
快速16位无符号整数类型
int64_t int_least64_t
至少64位的有符号整数类型
int64_t int_fast64_t
快速64位有符号整数类型