21#define ORIGINAL_PLATFORM_WINDOWS 0
22#define ORIGINAL_PLATFORM_WINDOWS_32 0
23#define ORIGINAL_PLATFORM_WINDOWS_64 0
24#define ORIGINAL_PLATFORM_LINUX 0
25#define ORIGINAL_PLATFORM_MACOS 0
26#define ORIGINAL_PLATFORM_UNIX 0
27#define ORIGINAL_PLATFORM_UNKNOWN 0
30#if defined(_WIN32) || defined(_WIN64)
31 #undef ORIGINAL_PLATFORM_WINDOWS
32 #define ORIGINAL_PLATFORM_WINDOWS 1
34 #undef ORIGINAL_PLATFORM_WINDOWS_64
35 #define ORIGINAL_PLATFORM_WINDOWS_64 1
37 #undef ORIGINAL_PLATFORM_WINDOWS_32
38 #define ORIGINAL_PLATFORM_WINDOWS_32 1
40#elif defined(__linux__)
41 #undef ORIGINAL_PLATFORM_LINUX
42 #define ORIGINAL_PLATFORM_LINUX 1
43#elif defined(__APPLE__) && defined(__MACH__)
44 #undef ORIGINAL_PLATFORM_MACOS
45 #define ORIGINAL_PLATFORM_MACOS 1
46#elif defined(__unix__)
47 #undef ORIGINAL_PLATFORM_UNIX
48 #define ORIGINAL_PLATFORM_UNIX 1
50 #undef ORIGINAL_PLATFORM_UNKNOWN
51 #define ORIGINAL_PLATFORM_UNKNOWN 1
62#define ORIGINAL_COMPILER_CLANG 0
63#define ORIGINAL_COMPILER_GCC 0
64#define ORIGINAL_COMPILER_MSVC 0
65#define ORIGINAL_COMPILER_UNKNOWN 0
69 #undef ORIGINAL_COMPILER_CLANG
70 #define ORIGINAL_COMPILER_CLANG 1
71 #define ORIGINAL_COMPILER_VERSION __clang_major__.__clang_minor__.__clang_patchlevel__
72#elif defined(__GNUC__) || defined(__GNUG__)
73 #undef ORIGINAL_COMPILER_GCC
74 #define ORIGINAL_COMPILER_GCC 1
75 #define ORIGINAL_COMPILER_VERSION __GNUC__.__GNUC_MINOR__.__GNUC_PATCHLEVEL__
76#elif defined(_MSC_VER)
77 #undef ORIGINAL_COMPILER_MSVC
78 #define ORIGINAL_COMPILER_MSVC 1
79 #define ORIGINAL_COMPILER_VERSION _MSC_VER
81 #undef ORIGINAL_COMPILER_UNKNOWN
82 #define ORIGINAL_COMPILER_UNKNOWN 1
107 #if ORIGINAL_PLATFORM_WINDOWS
120 #if ORIGINAL_PLATFORM_WINDOWS_32
133 #if ORIGINAL_PLATFORM_WINDOWS_64
146 #if ORIGINAL_PLATFORM_LINUX
159 #if ORIGINAL_PLATFORM_MACOS
172 #if ORIGINAL_PLATFORM_UNIX
185 #if ORIGINAL_PLATFORM_UNKNOWN
205 #if ORIGINAL_COMPILER_CLANG
218 #if ORIGINAL_COMPILER_GCC
231 #if ORIGINAL_COMPILER_MSVC
244 #if ORIGINAL_COMPILER_UNKNOWN
258 #if ORIGINAL_COMPILER_GCC || ORIGINAL_COMPILER_CLANG
265 using byte = std::uint8_t;
266 #elif ORIGINAL_COMPILER_MSVC
267 using byte = uint8_t;
271 #if ORIGINAL_COMPILER_GCC || ORIGINAL_COMPILER_CLANG
278 using s_byte = std::int8_t;
279 #elif ORIGINAL_COMPILER_MSVC
280 using s_byte = int8_t;
283 #if ORIGINAL_COMPILER_GCC || ORIGINAL_COMPILER_CLANG
291 using integer = std::int64_t;
292 #elif ORIGINAL_COMPILER_MSVC
293 using integer = int64_t;
296 #if ORIGINAL_COMPILER_GCC || ORIGINAL_COMPILER_CLANG
304 using u_integer = std::uint32_t;
305 #elif ORIGINAL_COMPILER_MSVC
306 using u_integer = uint32_t;
309 #if ORIGINAL_COMPILER_GCC || ORIGINAL_COMPILER_CLANG
319 using ul_integer = std::uint64_t;
320 #elif ORIGINAL_COMPILER_MSVC
321 using ul_integer = uint64_t;
Unique ownership smart pointer with move semantics.
Definition ownerPtr.h:37
consteval bool USING_UNKNOWN_COMPLIER()
Checks if compiling with unknown compiler.
Definition config.h:243
consteval bool USING_MSVC()
Checks if compiling with MSVC.
Definition config.h:230
consteval bool USING_GCC()
Checks if compiling with GCC.
Definition config.h:217
consteval bool USING_CLANG()
Checks if compiling with Clang.
Definition config.h:204
double floating
Double-precision floating-point type.
Definition config.h:331
Main namespace for the project Original.
Definition algorithms.h:21