1 // Copyright 2001-2018 Crytek GmbH / Crytek Group. All rights reserved.
5 //#define DEFINE_MODULE_NAME "CrySystem"
7 #include <CryCore/Project/CryModuleDefs.h>
8 #define eCryModule eCryM_System
10 #define CRYSYSTEM_EXPORTS
12 #include <CryCore/Platform/platform.h>
13 #include <CryCore/Assert/CryAssert.h>
17 // Ensure included first to prevent windows.h from being included by certain standard library headers, e.g. <future> on Durango
18 #include <CryCore/Platform/CryWindows.h>
36 #include <condition_variable>
50 #include <forward_list>
54 #include <initializer_list>
74 #include <scoped_allocator>
81 #include <system_error>
84 #include <type_traits>
87 #include <unordered_map>
88 #include <unordered_set>
93 //////////////////////////////////////////////////////////////////////////
95 //////////////////////////////////////////////////////////////////////////
101 #if !CRY_PLATFORM_LINUX && !CRY_PLATFORM_ANDROID && !CRY_PLATFORM_APPLE && !CRY_PLATFORM_ORBIS
107 #if !CRY_PLATFORM_ORBIS && !CRY_PLATFORM_APPLE && !CRY_PLATFORM_ANDROID
108 #if CRY_PLATFORM_LINUX
116 #if CRY_PLATFORM_WINDOWS
117 #include <winsock2.h>
121 /////////////////////////////////////////////////////////////////////////////
122 // CRY Stuff ////////////////////////////////////////////////////////////////
123 /////////////////////////////////////////////////////////////////////////////
124 #include <CryMath/Cry_Math.h>
125 #include <CryMath/Cry_Camera.h>
126 #include <CryMath/Random.h>
127 #include <CryMath/Range.h>
128 #include <CryMath/Angle.h>
129 #include <CryMath/ISplines.h>
130 #include <CryMath/Rotation.h>
131 #include <CryMath/Transform.h>
133 #include <CryMemory/CrySizer.h>
134 #include <CryMemory/AddressHelpers.h>
135 #include <CryMemory/HeapAllocator.h>
136 #include <CryMemory/BucketAllocator.h>
137 #include <CryMemory/STLGlobalAllocator.h>
139 #include <CryCore/BoostHelpers.h>
141 #include <CryCore/smartptr.h>
142 #include <CryCore/CryEnumMacro.h>
143 #include <CryCore/StlUtils.h>
144 #include <CryCore/stridedptr.h>
145 #include <CryCore/functor.h>
146 #include <CryCore/RingBuffer.h>
147 #include <CryCore/SmallFunction.h>
148 #include <CryCore/BitMask.h>
149 #include <CryCore/CryVariant.h>
150 #include <CryCore/optional.h>
151 #include <CryCore/CountedValue.h>
152 #include <CryCore/CryCustomTypes.h>
153 #include <CryCore/CryTypeInfo.h>
154 #include <CryCore/Containers/CryArray.h>
155 #include <CryCore/Containers/CryFixedArray.h>
156 #include <CryCore/Containers/CryListenerSet.h>
157 #include <CryCore/Containers/MiniQueue.h>
158 #include <CryCore/Containers/VectorSet.h>
159 #include <CryCore/Containers/VectorMap.h>
160 #include <CryCore/ToolsHelpers/ResourceCompilerHelper.h>
161 #include <CryCore/ToolsHelpers/SettingsManagerHelpers.h>
162 #include <CryCore/TypeInfo_impl.h>
164 #include <CryString/CryString.h>
165 #include <CryString/CryFixedString.h>
166 #include <CryString/CryName.h>
167 #include <CryString/CryPath.h>
169 #include <CrySerialization/STL.h>
170 #include <CrySerialization/DynArray.h>
171 #include <CrySerialization/Color.h>
172 #include <CrySerialization/ColorImpl.h>
173 #include <CrySerialization/Math.h>
174 #include <CrySerialization/MathImpl.h>
176 #include <CryExtension/ClassWeaver.h>
177 #include <CryExtension/Conversion.h>
178 #include <CryExtension/RegFactoryNode.h>
180 #include <CryThreading/CryThreadSafeRendererContainer.h>
182 #include <CryRenderer/IScaleform.h> // expensive header
183 #include <CryRenderer/IRenderer.h> // expensive header
185 #ifdef INCLUDE_SCALEFORM_SDK
186 #include <GRefCount.h>
188 #include <GMemoryHeap.h>
193 #include <GSysAllocMalloc.h>
195 #include <GAllocator.h>
197 #include <GFxPlayerStats.h>
199 #include <GColorMacros.h>
200 #include <GMatrix2D.h>
201 #include <GTypes2DF.h>
202 #include <GMatrix3D.h>
205 #include <GRendererEventHandler.h>