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
11
#include "
NeForce/core/config/c++config.hpp
"
12
13
NEFORCE_BEGIN_NAMESPACE__
14
20
25
using
nullptr_t
=
decltype
(
nullptr
);
26
31
using
max_align_t
= double;
32
37
using
byte_t
=
unsigned
char;
38
39
44
using
native_size_type
=
45
#ifdef NEFORCE_PLATFORM_WINDOWS
46
unsigned
long;
47
#else
48
int;
49
#endif
50
55
using
native_handle_type
=
56
#ifdef NEFORCE_PLATFORM_WINDOWS
57
void
*;
58
#else
59
int;
60
#endif
61
62
67
using
int8_t
=
signed
char;
68
73
using
int16_t
= short;
74
79
using
int32_t
= int;
80
87
using
int64_t
=
88
#ifdef NEFORCE_PLATFORM_LINUX64
89
long;
90
#else
91
long
long;
92
#endif
93
98
using
uint8_t
=
unsigned
char;
99
104
using
uint16_t
=
unsigned
short;
105
110
using
uint32_t
=
unsigned
int;
111
118
using
uint64_t
=
119
#ifdef NEFORCE_PLATFORM_LINUX64
120
unsigned
long;
121
#else
122
unsigned
long
long;
123
#endif
124
125
130
using
float32_t
= float;
131
136
using
float64_t
= double;
137
144
using
decimal_t
=
long
double;
145
// CoreTypes
147
153
154
#if defined(NEFORCE_ARCH_BITS_64) || defined(NEXUSFORCE_ENABLE_DOXYGEN)
155
162
using
size_t
=
uint64_t
;
163
170
using
ssize_t
=
int64_t
;
171
178
using
ptrdiff_t
=
int64_t
;
179
186
using
intptr_t
=
int64_t
;
187
194
using
uintptr_t
=
uint64_t
;
195
196
#else
197
202
using
size_t
=
uint32_t
;
203
208
using
ssize_t
=
int32_t
;
209
214
using
ptrdiff_t
=
int32_t
;
215
220
using
intptr_t
=
int32_t
;
221
226
using
uintptr_t
=
uint32_t
;
227
228
#endif
229
230
235
using
int_least8_t
=
int8_t
;
236
241
using
int_least16_t
=
int16_t
;
242
247
using
int_least32_t
=
int32_t
;
248
253
using
int_least64_t
=
int64_t
;
254
259
using
uint_least8_t
=
uint8_t
;
260
265
using
uint_least16_t
=
uint16_t
;
266
271
using
uint_least32_t
=
uint32_t
;
272
277
using
uint_least64_t
=
uint64_t
;
278
283
using
int_fast8_t
=
int8_t
;
284
289
using
int_fast16_t
=
ssize_t
;
290
295
using
int_fast32_t
=
ssize_t
;
296
301
using
int_fast64_t
=
int64_t
;
302
307
using
uint_fast8_t
=
uint8_t
;
308
313
using
uint_fast16_t
=
size_t
;
314
319
using
uint_fast32_t
=
size_t
;
320
325
using
uint_fast64_t
=
uint64_t
;
326
327
332
using
intmax_t
=
int64_t
;
333
338
using
uintmax_t
=
uint64_t
;
339
// PlatformDependentTypes
341
349
363
struct
input_iterator_tag {
364
constexpr
explicit
input_iterator_tag() =
default
;
365
};
366
379
struct
output_iterator_tag {
380
constexpr
explicit
output_iterator_tag() =
default
;
381
};
382
395
struct
forward_iterator_tag : input_iterator_tag {
396
constexpr
explicit
forward_iterator_tag() =
default
;
397
};
398
410
struct
bidirectional_iterator_tag : forward_iterator_tag {
411
constexpr
explicit
bidirectional_iterator_tag() =
default
;
412
};
413
427
struct
random_access_iterator_tag : bidirectional_iterator_tag {
428
constexpr
explicit
random_access_iterator_tag() =
default
;
429
};
430
443
struct
contiguous_iterator_tag : random_access_iterator_tag {
444
constexpr
explicit
contiguous_iterator_tag() =
default
;
445
};
446
// IteratorTags
448
456
464
struct
allocator_arg_tag {
465
constexpr
explicit
allocator_arg_tag()
noexcept
=
default
;
466
};
467
474
struct
default_construct_tag {
475
constexpr
explicit
default_construct_tag()
noexcept
=
default
;
476
};
477
484
struct
exact_arg_construct_tag {
485
constexpr
explicit
exact_arg_construct_tag()
noexcept
=
default
;
486
};
487
495
struct
inplace_construct_tag {
496
constexpr
explicit
inplace_construct_tag()
noexcept
=
default
;
497
};
498
505
struct
unpack_utility_construct_tag {
506
constexpr
explicit
unpack_utility_construct_tag()
noexcept
=
default
;
507
};
508
// ConstructionTags
510
511
struct
ignore_t {
512
template
<
typename
T>
513
NEFORCE_CONSTEXPR14
const
ignore_t& operator=(
const
T&)
const
noexcept
{
514
return
*
this
;
515
}
516
};
517
518
NEFORCE_INLINE17
constexpr
ignore_t ignore{};
519
520
NEFORCE_END_NAMESPACE__
521
#endif
// NEFORCE_CORE_TYPEINFO_TYPES_HPP__
c++config.hpp
核心配置头文件
uint8_t
unsigned char uint8_t
8位无符号整数类型
定义
types.hpp:98
byte_t
unsigned char byte_t
字节类型,定义为无符号字符
定义
types.hpp:37
float32_t
float float32_t
32位单精度浮点数类型
定义
types.hpp:130
uint32_t
unsigned int uint32_t
32位无符号整数类型
定义
types.hpp:110
decimal_t
long double decimal_t
扩展精度浮点数类型
定义
types.hpp:144
int64_t
long long int64_t
64位有符号整数类型
定义
types.hpp:87
float64_t
double float64_t
64位双精度浮点数类型
定义
types.hpp:136
uint16_t
unsigned short uint16_t
16位无符号整数类型
定义
types.hpp:104
max_align_t
double max_align_t
最大对齐类型
定义
types.hpp:31
uint64_t
unsigned long long uint64_t
64位无符号整数类型
定义
types.hpp:118
int16_t
short int16_t
16位有符号整数类型
定义
types.hpp:73
int32_t
int int32_t
32位有符号整数类型
定义
types.hpp:79
native_size_type
int native_size_type
系统ID类型
定义
types.hpp:44
native_handle_type
int native_handle_type
系统句柄类型
定义
types.hpp:55
int8_t
signed char int8_t
8位有符号整数类型
定义
types.hpp:67
nullptr_t
decltype(nullptr) nullptr_t
空指针类型
定义
types.hpp:25
int_fast16_t
ssize_t int_fast16_t
快速16位有符号整数类型
定义
types.hpp:289
intmax_t
int64_t intmax_t
最大有符号整数类型
定义
types.hpp:332
size_t
uint64_t size_t
无符号大小类型
定义
types.hpp:162
ssize_t
int64_t ssize_t
有符号大小类型
定义
types.hpp:170
intptr_t
int64_t intptr_t
可容纳指针的有符号整数类型
定义
types.hpp:186
uint_least64_t
uint64_t uint_least64_t
至少64位的无符号整数类型
定义
types.hpp:277
int_fast32_t
ssize_t int_fast32_t
快速32位有符号整数类型
定义
types.hpp:295
uintptr_t
uint64_t uintptr_t
可容纳指针的无符号整数类型
定义
types.hpp:194
int_least32_t
int32_t int_least32_t
至少32位的有符号整数类型
定义
types.hpp:247
uint_least8_t
uint8_t uint_least8_t
至少8位的无符号整数类型
定义
types.hpp:259
uint_fast64_t
uint64_t uint_fast64_t
快速64位无符号整数类型
定义
types.hpp:325
int_least16_t
int16_t int_least16_t
至少16位的有符号整数类型
定义
types.hpp:241
int_least8_t
int8_t int_least8_t
至少8位的有符号整数类型
定义
types.hpp:235
uint_least16_t
uint16_t uint_least16_t
至少16位的无符号整数类型
定义
types.hpp:265
uint_fast8_t
uint8_t uint_fast8_t
快速8位无符号整数类型
定义
types.hpp:307
uint_fast32_t
size_t uint_fast32_t
快速32位无符号整数类型
定义
types.hpp:319
uintmax_t
uint64_t uintmax_t
最大无符号整数类型
定义
types.hpp:338
ptrdiff_t
int64_t ptrdiff_t
指针差类型
定义
types.hpp:178
uint_least32_t
uint32_t uint_least32_t
至少32位的无符号整数类型
定义
types.hpp:271
int_fast8_t
int8_t int_fast8_t
快速8位有符号整数类型
定义
types.hpp:283
uint_fast16_t
size_t uint_fast16_t
快速16位无符号整数类型
定义
types.hpp:313
int_least64_t
int64_t int_least64_t
至少64位的有符号整数类型
定义
types.hpp:253
int_fast64_t
int64_t int_fast64_t
快速64位有符号整数类型
定义
types.hpp:301
include
NeForce
core
typeinfo
types.hpp
制作者
1.16.0