YACLib
C++ library for concurrent tasks execution
Loading...
Searching...
No Matches
atomic.hpp
Go to the documentation of this file.
1#pragma once
2
3#if YACLIB_FAULT_ATOMIC == 2
6
7# include <atomic>
8
9namespace yaclib_std {
10
11template <typename T>
13
14} // namespace yaclib_std
15#elif YACLIB_FAULT_ATOMIC == 1
17
18# include <atomic>
19
20namespace yaclib_std {
21
22template <typename T>
24
25} // namespace yaclib_std
26#else
27# include <atomic>
28
29namespace yaclib_std {
30
31using std::atomic;
32
33} // namespace yaclib_std
34#endif
35
36#include <cstddef>
37#include <cstdint>
38
39namespace yaclib_std {
40
41using atomic_bool = atomic<bool>;
42using atomic_char = atomic<char>;
43using atomic_schar = atomic<signed char>;
44using atomic_uchar = atomic<unsigned char>;
45using atomic_short = atomic<short>;
46using atomic_ushort = atomic<unsigned short>;
47using atomic_int = atomic<int>;
48using atomic_uint = atomic<unsigned int>;
49using atomic_long = atomic<long>;
50using atomic_ulong = atomic<unsigned long>;
51using atomic_llong = atomic<long long>;
52using atomic_ullong = atomic<unsigned long long>;
53using atomic_char16_t = atomic<char16_t>;
54using atomic_char32_t = atomic<char32_t>;
55using atomic_wchar_t = atomic<wchar_t>;
56
57using atomic_int_least8_t = atomic<std::int_least8_t>;
58using atomic_uint_least8_t = atomic<std::uint_least8_t>;
59using atomic_int_least16_t = atomic<std::int_least16_t>;
60using atomic_uint_least16_t = atomic<std::uint_least16_t>;
61using atomic_int_least32_t = atomic<std::int_least32_t>;
62using atomic_uint_least32_t = atomic<std::uint_least32_t>;
63using atomic_int_least64_t = atomic<std::int_least64_t>;
64using atomic_uint_least64_t = atomic<std::uint_least64_t>;
65
66using atomic_int_fast8_t = atomic<std::int_fast8_t>;
67using atomic_uint_fast8_t = atomic<std::uint_fast8_t>;
68using atomic_int_fast16_t = atomic<std::int_fast16_t>;
69using atomic_uint_fast16_t = atomic<std::uint_fast16_t>;
70using atomic_int_fast32_t = atomic<std::int_fast32_t>;
71using atomic_uint_fast32_t = atomic<std::uint_fast32_t>;
72using atomic_int_fast64_t = atomic<std::int_fast64_t>;
73using atomic_uint_fast64_t = atomic<std::uint_fast64_t>;
74
75using atomic_int8_t = atomic<std::int8_t>;
76using atomic_uint8_t = atomic<std::uint8_t>;
77using atomic_int16_t = atomic<std::int16_t>;
78using atomic_uint16_t = atomic<std::uint16_t>;
79using atomic_int32_t = atomic<std::int32_t>;
80using atomic_uint32_t = atomic<std::uint32_t>;
81using atomic_int64_t = atomic<std::int64_t>;
82using atomic_uint64_t = atomic<std::uint64_t>;
83
84using atomic_intptr_t = atomic<std::intptr_t>;
85using atomic_uintptr_t = atomic<std::uintptr_t>;
86using atomic_size_t = atomic<std::size_t>;
87using atomic_ptrdiff_t = atomic<std::ptrdiff_t>;
88using atomic_intmax_t = atomic<std::intmax_t>;
89using atomic_uintmax_t = atomic<std::uintmax_t>;
90
91} // namespace yaclib_std
atomic< std::uint_fast8_t > atomic_uint_fast8_t
Definition atomic.hpp:67
atomic< std::uint_least16_t > atomic_uint_least16_t
Definition atomic.hpp:60
atomic< char16_t > atomic_char16_t
Definition atomic.hpp:53
atomic< std::ptrdiff_t > atomic_ptrdiff_t
Definition atomic.hpp:87
atomic< std::int8_t > atomic_int8_t
Definition atomic.hpp:75
atomic< bool > atomic_bool
Definition atomic.hpp:41
atomic< std::int64_t > atomic_int64_t
Definition atomic.hpp:81
atomic< std::uint_fast32_t > atomic_uint_fast32_t
Definition atomic.hpp:71
atomic< std::uint8_t > atomic_uint8_t
Definition atomic.hpp:76
atomic< char > atomic_char
Definition atomic.hpp:42
atomic< unsigned char > atomic_uchar
Definition atomic.hpp:44
atomic< std::intmax_t > atomic_intmax_t
Definition atomic.hpp:88
atomic< unsigned int > atomic_uint
Definition atomic.hpp:48
atomic< std::uint_fast64_t > atomic_uint_fast64_t
Definition atomic.hpp:73
atomic< unsigned short > atomic_ushort
Definition atomic.hpp:46
atomic< std::uint_fast16_t > atomic_uint_fast16_t
Definition atomic.hpp:69
atomic< unsigned long > atomic_ulong
Definition atomic.hpp:50
atomic< std::int_least32_t > atomic_int_least32_t
Definition atomic.hpp:61
atomic< std::uint64_t > atomic_uint64_t
Definition atomic.hpp:82
atomic< std::int_least8_t > atomic_int_least8_t
Definition atomic.hpp:57
atomic< long > atomic_long
Definition atomic.hpp:49
atomic< int > atomic_int
Definition atomic.hpp:47
atomic< std::uint_least8_t > atomic_uint_least8_t
Definition atomic.hpp:58
atomic< std::size_t > atomic_size_t
Definition atomic.hpp:86
atomic< std::int_fast64_t > atomic_int_fast64_t
Definition atomic.hpp:72
atomic< std::uint_least64_t > atomic_uint_least64_t
Definition atomic.hpp:64
atomic< std::intptr_t > atomic_intptr_t
Definition atomic.hpp:84
atomic< std::int_least64_t > atomic_int_least64_t
Definition atomic.hpp:63
atomic< signed char > atomic_schar
Definition atomic.hpp:43
atomic< std::uintmax_t > atomic_uintmax_t
Definition atomic.hpp:89
atomic< long long > atomic_llong
Definition atomic.hpp:51
atomic< std::int_fast32_t > atomic_int_fast32_t
Definition atomic.hpp:70
atomic< std::int_fast16_t > atomic_int_fast16_t
Definition atomic.hpp:68
atomic< wchar_t > atomic_wchar_t
Definition atomic.hpp:55
atomic< std::int_least16_t > atomic_int_least16_t
Definition atomic.hpp:59
atomic< std::uint32_t > atomic_uint32_t
Definition atomic.hpp:80
atomic< std::uint_least32_t > atomic_uint_least32_t
Definition atomic.hpp:62
atomic< char32_t > atomic_char32_t
Definition atomic.hpp:54
atomic< std::int16_t > atomic_int16_t
Definition atomic.hpp:77
atomic< short > atomic_short
Definition atomic.hpp:45
atomic< std::uintptr_t > atomic_uintptr_t
Definition atomic.hpp:85
atomic< std::uint16_t > atomic_uint16_t
Definition atomic.hpp:78
atomic< unsigned long long > atomic_ullong
Definition atomic.hpp:52
atomic< std::int_fast8_t > atomic_int_fast8_t
Definition atomic.hpp:66
atomic< std::int32_t > atomic_int32_t
Definition atomic.hpp:79