cpp-toolbox  0.0.1
A toolbox library for C++
Loading...
Searching...
No Matches
types.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <atomic>
4#include <cstdint>
5
11using i8 = int8_t;
12using i16 = int16_t;
13using i32 = int32_t;
14using i64 = int64_t;
22using u8 = uint8_t;
23using u16 = uint16_t;
24using u32 = uint32_t;
25using u64 = uint64_t;
31using size_t = std::size_t;
32
37using f32 = float;
38using f64 = double;
46static_assert(sizeof(i8) == 1, "i8 is not 1 byte");
47static_assert(sizeof(i16) == 2, "i16 is not 2 bytes");
48static_assert(sizeof(i32) == 4, "i32 is not 4 bytes");
49static_assert(sizeof(i64) == 8, "i64 is not 8 bytes");
50static_assert(sizeof(u8) == 1, "u8 is not 1 byte");
51static_assert(sizeof(u16) == 2, "u16 is not 2 bytes");
52static_assert(sizeof(u32) == 4, "u32 is not 4 bytes");
53static_assert(sizeof(u64) == 8, "u64 is not 8 bytes");
54static_assert(sizeof(size_t) == 8, "size_t is not 8 bytes");
55static_assert(sizeof(f32) == 4, "f32 is not 4 bytes");
56static_assert(sizeof(f64) == 8, "f64 is not 8 bytes");
57
86using ai8 = std::atomic<i8>;
87using ai16 =
88 std::atomic<i16>;
89using ai32 =
90 std::atomic<i32>;
91using ai64 =
92 std::atomic<i64>;
93using af32 = std::atomic<f32>;
94using af64 = std::atomic<f64>;
95using asize_t = std::atomic<size_t>;
96using abool = std::atomic<bool>;
97using au8 =
98 std::atomic<u8>;
99using au16 =
100 std::atomic<u16>;
101using au32 =
102 std::atomic<u32>;
103using au64 =
104 std::atomic<u64>;
std::atomic< u16 > au16
原子16位无符号整数/Atomic 16-bit unsigned integer
Definition types.hpp:100
int8_t i8
8位有符号整数/8-bit signed integer
Definition types.hpp:11
std::atomic< f64 > af64
原子64位浮点数/Atomic 64-bit float
Definition types.hpp:94
uint64_t u64
64位无符号整数/64-bit unsigned integer
Definition types.hpp:25
std::atomic< f32 > af32
原子32位浮点数/Atomic 32-bit float
Definition types.hpp:93
std::atomic< u8 > au8
原子8位无符号整数/Atomic 8-bit unsigned integer
Definition types.hpp:98
std::atomic< u64 > au64
原子64位无符号整数/Atomic 64-bit unsigned integer
Definition types.hpp:104
std::atomic< i32 > ai32
原子32位有符号整数/Atomic 32-bit signed integer
Definition types.hpp:90
uint16_t u16
16位无符号整数/16-bit unsigned integer
Definition types.hpp:23
uint32_t u32
32位无符号整数/32-bit unsigned integer
Definition types.hpp:24
std::atomic< size_t > asize_t
原子size_t类型/Atomic size_t
Definition types.hpp:95
std::size_t size_t
大小类型别名/Size type alias
Definition types.hpp:31
int64_t i64
64位有符号整数/64-bit signed integer
Definition types.hpp:14
std::atomic< i64 > ai64
原子64位有符号整数/Atomic 64-bit signed integer
Definition types.hpp:92
int16_t i16
16位有符号整数/16-bit signed integer
Definition types.hpp:12
uint8_t u8
8位无符号整数/8-bit unsigned integer
Definition types.hpp:22
std::atomic< bool > abool
原子布尔类型/Atomic boolean
Definition types.hpp:96
std::atomic< i8 > ai8
原子8位有符号整数/Atomic 8-bit signed integer
Definition types.hpp:86
double f64
64位浮点数/64-bit floating point
Definition types.hpp:38
std::atomic< u32 > au32
原子32位无符号整数/Atomic 32-bit unsigned integer
Definition types.hpp:102
float f32
32位浮点数/32-bit floating point
Definition types.hpp:37
std::atomic< i16 > ai16
原子16位有符号整数/Atomic 16-bit signed integer
Definition types.hpp:88
int32_t i32
32位有符号整数/32-bit signed integer
Definition types.hpp:13