Platform.h
Go to the documentation of this file.
1 //=================================================================================================
33 //=================================================================================================
34 
35 #ifndef _BLAZE_SYSTEM_PLATFORM_H_
36 #define _BLAZE_SYSTEM_PLATFORM_H_
37 
38 
39 //*************************************************************************************************
40 // Includes
41 //*************************************************************************************************
42 
44 
45 
46 
47 
48 //=================================================================================================
49 //
50 // PLATFORM MACRO DEFINITIONS
51 //
52 //=================================================================================================
53 
54 //*************************************************************************************************
56 #if defined(_WIN64)
57 # define BLAZE_WIN64_PLATFORM 1
58 #else
59 # define BLAZE_WIN64_PLATFORM 0
60 #endif
61 
62 //*************************************************************************************************
63 
64 
65 //*************************************************************************************************
67 #if defined(__MINGW64_VERSION_MAJOR)
68 # define BLAZE_MINGW64_PLATFORM 1
69 #else
70 # define BLAZE_MINGW64_PLATFORM 0
71 #endif
72 
73 //*************************************************************************************************
74 
75 
76 //*************************************************************************************************
78 #if defined(__MINGW32__)
79 # define BLAZE_MINGW32_PLATFORM 1
80 #else
81 # define BLAZE_MINGW32_PLATFORM 0
82 #endif
83 
84 //*************************************************************************************************
85 
86 
87 
88 
89 //=================================================================================================
90 //
91 // COMPILE TIME CONSTRAINTS
92 //
93 //=================================================================================================
94 
95 //*************************************************************************************************
97 namespace {
98 
99 BLAZE_STATIC_ASSERT( !BLAZE_WIN64_PLATFORM || ( !BLAZE_MINGW32_PLATFORM && !BLAZE_MINGW64_PLATFORM ) );
100 BLAZE_STATIC_ASSERT( !BLAZE_MINGW32_PLATFORM || ( !BLAZE_WIN64_PLATFORM && !BLAZE_MINGW64_PLATFORM ) );
101 BLAZE_STATIC_ASSERT( !BLAZE_MINGW64_PLATFORM || ( !BLAZE_WIN64_PLATFORM && !BLAZE_MINGW32_PLATFORM ) );
102 
103 }
105 //*************************************************************************************************
106 
107 #endif
Compile time assertion.
#define BLAZE_STATIC_ASSERT(expr)
Compile time assertion macro.In case of an invalid compile time expression, a compilation error is cr...
Definition: StaticAssert.h:112