cppx-core
basic-general.hpp
Go to the documentation of this file.
1 #pragma once // Source encoding: UTF-8 with BOM (π is a lowercase Greek "pi").
2 
3 #ifndef CPPX_NO_FIX_OF_RANDOM_DEVICE
4 # ifdef __GNUC__
5 # undef _GLIBCXX_USE_RANDOM_TR1
6 # define _GLIBCXX_USE_RANDOM_TR1
7 # endif
8 #endif
9 
10 // In the comments below <@/whatever> means <cppx-core/whatever>.
11 #include <c/assert.hpp> // assert
12 #include <c/ctype.hpp> // - Narrow text classifiers
13 #include <c/math.hpp> // - As-if it also includes <c/stdlib.hpp>.
14 #include <c/stdint.hpp> // - E.g. uintptr_t, uint32_t, int64_t
15 #include <c/stdlib.hpp> // EXIT_...
16 #include <c/string.hpp> // strlen, ++
17 #include <c/wchar.hpp> // wcslen, ++
18 #include <c/wctype.hpp> // - Wide text classifiers.
19 
20 #include <algorithm> // std::(min, max, ...)
21 #include <array> // std::(array)
22 #include <atomic> // - atomic operations support for threading
23 #include <chrono> // std::chrono::*
24 #include <condition_variable> // std::condition_variable
25 #include <deque> // std::deque (e.g. default container for std::stack)
26 #include <functional> // std::(function)
27 #include <initializer_list> // std::initializer_list
28 #include <iosfwd> // - Forward declarations of stream types etc.
29 #include <iterator> // std::(begin, end, size)
30 #include <map> // std::map
31 #include <memory> // std::(unique_ptr, shared_ptr, ...)
32 #include <mutex> // std::(mutex, lock_guard) etc.
33 #include <numeric> // std::accumulate etc.
34 #include <optional> // std::optional
35 #include <queue> // std::queue
36 #include <random> // std::(...)
37 #include <set> // std::set
38 #include <stack> // std::stack
39 #include <stdexcept> // std::(...). But see <@/failure-handling/macro-fail.hpp>.
40 #include <string> // std::string
41 #include <string_view> // - But see <@/text/String_view_.hpp>.
42 #include <thread> // std::thread, std::this_thread::sleep_for
43 #include <unordered_map> // - But see <@/collections/Map_.hpp>
44 #include <unordered_set> // - But see <@/collections/Set_.hpp>
45 #include <utility> // std::(forward, move), std::rel_ops::*
46 #include <variant> // std::variant
47 #include <vector> // std::vector