MSTL
1.4.0
A Modern C++ Library with extended functionality, web components, and utility libraries
载入中...
搜索中...
未找到
types.hpp
浏览该文件的文档.
1
#ifndef MSTL_CORE_TYPEINFO_TYPES_HPP__
2
#define MSTL_CORE_TYPEINFO_TYPES_HPP__
3
10
11
#include "
MSTL/core/config/c++config.hpp
"
12
17
MSTL_BEGIN_NAMESPACE__
18
24
29
using
nullptr_t
=
decltype
(
nullptr
);
30
35
using
max_align_t
= double;
36
41
using
byte_t
=
unsigned
char;
42
43
48
using
int8_t
=
signed
char;
49
54
using
int16_t
= short;
55
60
using
int32_t
= int;
61
68
using
int64_t
=
69
#ifdef MSTL_PLATFORM_LINUX64__
70
long;
71
#else
72
long
long;
73
#endif
74
79
using
uint8_t
=
unsigned
char;
80
85
using
uint16_t
=
unsigned
short;
86
91
using
uint32_t
=
unsigned
int;
92
99
using
uint64_t
=
100
#ifdef MSTL_PLATFORM_LINUX64__
101
unsigned
long;
102
#else
103
unsigned
long
long;
104
#endif
105
106
111
using
float32_t
= float;
112
117
using
float64_t
= double;
118
125
using
decimal_t
=
long
double;
126
// CoreTypes
128
134
135
#if defined(MSTL_DATA_BUS_WIDTH_64__) || defined(MSTL_DOXYGEN_GENERATE)
136
143
using
size_t
=
uint64_t
;
144
151
using
ssize_t
=
int64_t
;
152
159
using
ptrdiff_t
=
int64_t
;
160
167
using
intptr_t
=
int64_t
;
168
175
using
uintptr_t
=
uint64_t
;
176
177
#else
178
183
using
size_t
=
uint32_t
;
184
189
using
ssize_t
=
int32_t
;
190
195
using
ptrdiff_t
=
int32_t
;
196
201
using
intptr_t
=
int32_t
;
202
207
using
uintptr_t
=
uint32_t
;
208
209
#endif
210
211
216
using
int_least8_t
=
int8_t
;
217
222
using
int_least16_t
=
int16_t
;
223
228
using
int_least32_t
=
int32_t
;
229
234
using
int_least64_t
=
int64_t
;
235
240
using
uint_least8_t
=
uint8_t
;
241
246
using
uint_least16_t
=
uint16_t
;
247
252
using
uint_least32_t
=
uint32_t
;
253
258
using
uint_least64_t
=
uint64_t
;
259
264
using
int_fast8_t
=
int8_t
;
265
270
using
int_fast16_t
=
ssize_t
;
271
276
using
int_fast32_t
=
ssize_t
;
277
282
using
int_fast64_t
=
int64_t
;
283
288
using
uint_fast8_t
=
uint8_t
;
289
294
using
uint_fast16_t
=
size_t
;
295
300
using
uint_fast32_t
=
size_t
;
301
306
using
uint_fast64_t
=
uint64_t
;
307
308
313
using
intmax_t
=
int64_t
;
314
319
using
uintmax_t
=
uint64_t
;
320
321
336
#define MSTL_BUILD_TYPE_ALIAS(TYPE) \
337
using value_type = TYPE; \
338
using pointer = TYPE*; \
339
using reference = TYPE&; \
340
using const_pointer = const TYPE*; \
341
using const_reference = const TYPE&; \
342
using size_type = size_t; \
343
using difference_type = ptrdiff_t;
344
// PlatformDependentTypes
346
354
368
struct
input_iterator_tag {
369
constexpr
explicit
input_iterator_tag() =
default
;
370
};
371
384
struct
output_iterator_tag {
385
constexpr
explicit
output_iterator_tag() =
default
;
386
};
387
401
struct
forward_iterator_tag : input_iterator_tag {
402
constexpr
explicit
forward_iterator_tag() =
default
;
403
};
404
417
struct
bidirectional_iterator_tag : forward_iterator_tag {
418
constexpr
explicit
bidirectional_iterator_tag() =
default
;
419
};
420
435
struct
random_access_iterator_tag : bidirectional_iterator_tag {
436
constexpr
explicit
random_access_iterator_tag() =
default
;
437
};
438
452
struct
contiguous_iterator_tag : random_access_iterator_tag {
453
constexpr
explicit
contiguous_iterator_tag() =
default
;
454
};
455
// IteratorTags
457
465
473
struct
allocator_arg_tag {
474
constexpr
explicit
allocator_arg_tag()
noexcept
=
default
;
475
};
476
483
struct
default_construct_tag {
484
constexpr
explicit
default_construct_tag()
noexcept
=
default
;
485
};
486
493
struct
exact_arg_construct_tag {
494
constexpr
explicit
exact_arg_construct_tag()
noexcept
=
default
;
495
};
496
504
struct
inplace_construct_tag {
505
constexpr
explicit
inplace_construct_tag()
noexcept
=
default
;
506
};
507
514
struct
unpack_utility_construct_tag {
515
constexpr
explicit
unpack_utility_construct_tag()
noexcept
=
default
;
516
};
517
// ConstructionTags
519
520
MSTL_END_NAMESPACE__
521
#endif
// MSTL_CORE_TYPEINFO_TYPES_HPP__
c++config.hpp
MSTL核心配置
uint8_t
unsigned char uint8_t
8位无符号整数类型
定义
types.hpp:79
byte_t
unsigned char byte_t
字节类型,定义为无符号字符
定义
types.hpp:41
float32_t
float float32_t
32位单精度浮点数类型
定义
types.hpp:111
uint32_t
unsigned int uint32_t
32位无符号整数类型
定义
types.hpp:91
decimal_t
long double decimal_t
扩展精度浮点数类型
定义
types.hpp:125
int64_t
long long int64_t
64位有符号整数类型
定义
types.hpp:68
float64_t
double float64_t
64位双精度浮点数类型
定义
types.hpp:117
uint16_t
unsigned short uint16_t
16位无符号整数类型
定义
types.hpp:85
max_align_t
double max_align_t
最大对齐类型
定义
types.hpp:35
uint64_t
unsigned long long uint64_t
64位无符号整数类型
定义
types.hpp:99
int16_t
short int16_t
16位有符号整数类型
定义
types.hpp:54
int32_t
int int32_t
32位有符号整数类型
定义
types.hpp:60
int8_t
signed char int8_t
8位有符号整数类型
定义
types.hpp:48
nullptr_t
decltype(nullptr) nullptr_t
空指针类型
定义
types.hpp:29
MSTL_END_NAMESPACE__
#define MSTL_END_NAMESPACE__
结束全局命名空间MSTL
定义
c++config.hpp:268
MSTL_BEGIN_NAMESPACE__
#define MSTL_BEGIN_NAMESPACE__
开始全局命名空间MSTL
定义
c++config.hpp:262
int_fast16_t
ssize_t int_fast16_t
快速16位有符号整数类型
定义
types.hpp:270
intmax_t
int64_t intmax_t
最大有符号整数类型
定义
types.hpp:313
size_t
uint64_t size_t
无符号大小类型
定义
types.hpp:143
ssize_t
int64_t ssize_t
有符号大小类型
定义
types.hpp:151
intptr_t
int64_t intptr_t
可容纳指针的有符号整数类型
定义
types.hpp:167
uint_least64_t
uint64_t uint_least64_t
至少64位的无符号整数类型
定义
types.hpp:258
int_fast32_t
ssize_t int_fast32_t
快速32位有符号整数类型
定义
types.hpp:276
uintptr_t
uint64_t uintptr_t
可容纳指针的无符号整数类型
定义
types.hpp:175
int_least32_t
int32_t int_least32_t
至少32位的有符号整数类型
定义
types.hpp:228
uint_least8_t
uint8_t uint_least8_t
至少8位的无符号整数类型
定义
types.hpp:240
uint_fast64_t
uint64_t uint_fast64_t
快速64位无符号整数类型
定义
types.hpp:306
int_least16_t
int16_t int_least16_t
至少16位的有符号整数类型
定义
types.hpp:222
int_least8_t
int8_t int_least8_t
至少8位的有符号整数类型
定义
types.hpp:216
uint_least16_t
uint16_t uint_least16_t
至少16位的无符号整数类型
定义
types.hpp:246
uint_fast8_t
uint8_t uint_fast8_t
快速8位无符号整数类型
定义
types.hpp:288
uint_fast32_t
size_t uint_fast32_t
快速32位无符号整数类型
定义
types.hpp:300
uintmax_t
uint64_t uintmax_t
最大无符号整数类型
定义
types.hpp:319
ptrdiff_t
int64_t ptrdiff_t
指针差类型
定义
types.hpp:159
uint_least32_t
uint32_t uint_least32_t
至少32位的无符号整数类型
定义
types.hpp:252
int_fast8_t
int8_t int_fast8_t
快速8位有符号整数类型
定义
types.hpp:264
uint_fast16_t
size_t uint_fast16_t
快速16位无符号整数类型
定义
types.hpp:294
int_least64_t
int64_t int_least64_t
至少64位的有符号整数类型
定义
types.hpp:234
int_fast64_t
int64_t int_fast64_t
快速64位有符号整数类型
定义
types.hpp:282
include
MSTL
core
typeinfo
types.hpp
制作者
1.16.0