53 #define JUCE_CORE_H_INCLUDED 57 #pragma warning (push) 59 #pragma warning (disable: 4251 4786 4668 4820) 60 #ifdef __INTEL_COMPILER 61 #pragma warning (disable: 1125) 65 #include "system/juce_TargetPlatform.h" 73 #ifndef JUCE_FORCE_DEBUG 89 #ifndef JUCE_LOG_ASSERTIONS 91 #define JUCE_LOG_ASSERTIONS 1 93 #define JUCE_LOG_ASSERTIONS 0 103 #if JUCE_DEBUG && ! defined (JUCE_CHECK_MEMORY_LEAKS) 104 #define JUCE_CHECK_MEMORY_LEAKS 1 113 #ifndef JUCE_DONT_AUTOLINK_TO_WIN32_LIBRARIES 114 #define JUCE_DONT_AUTOLINK_TO_WIN32_LIBRARIES 0 125 #ifndef JUCE_INCLUDE_ZLIB_CODE 126 #define JUCE_INCLUDE_ZLIB_CODE 1 129 #ifndef JUCE_ZLIB_INCLUDE_PATH 130 #define JUCE_ZLIB_INCLUDE_PATH <zlib.h> 139 #ifndef JUCE_USE_CURL 140 #define JUCE_USE_CURL 1 150 #ifndef JUCE_LOAD_CURL_SYMBOLS_LAZILY 151 #define JUCE_LOAD_CURL_SYMBOLS_LAZILY 0 158 #ifndef JUCE_CATCH_UNHANDLED_EXCEPTIONS 159 #define JUCE_CATCH_UNHANDLED_EXCEPTIONS 0 167 #ifndef JUCE_ALLOW_STATIC_NULL_VARIABLES 168 #define JUCE_ALLOW_STATIC_NULL_VARIABLES 0 176 #ifndef JUCE_STRICT_REFCOUNTEDPOINTER 177 #define JUCE_STRICT_REFCOUNTEDPOINTER 0 181 #ifndef JUCE_STRING_UTF_TYPE 182 #define JUCE_STRING_UTF_TYPE 8 188 #if JUCE_CORE_INCLUDE_NATIVE_HEADERS 189 #include "native/juce_BasicNativeHeaders.h" 196 #include "system/juce_StandardHeader.h" 206 class FileInputStream;
207 class FileOutputStream;
210 extern JUCE_API
bool JUCE_CALLTYPE juce_isRunningUnderDebugger() noexcept;
211 extern JUCE_API
void JUCE_CALLTYPE logAssertion (const
char* file,
int line) noexcept;
214 #include "memory/juce_Memory.h" 215 #include "maths/juce_MathsFunctions.h" 216 #include "memory/juce_ByteOrder.h" 217 #include "memory/juce_Atomic.h" 218 #include "text/juce_CharacterFunctions.h" 221 #pragma warning (push) 222 #pragma warning (disable: 4514 4996) 225 #include "text/juce_CharPointer_UTF8.h" 226 #include "text/juce_CharPointer_UTF16.h" 227 #include "text/juce_CharPointer_UTF32.h" 228 #include "text/juce_CharPointer_ASCII.h" 231 #pragma warning (pop) 234 #include "text/juce_String.h" 235 #include "text/juce_StringRef.h" 236 #include "logging/juce_Logger.h" 237 #include "memory/juce_LeakedObjectDetector.h" 238 #include "memory/juce_ContainerDeletePolicy.h" 239 #include "memory/juce_HeapBlock.h" 240 #include "memory/juce_MemoryBlock.h" 241 #include "memory/juce_ReferenceCountedObject.h" 242 #include "memory/juce_ScopedPointer.h" 243 #include "memory/juce_OptionalScopedPointer.h" 244 #include "memory/juce_Singleton.h" 245 #include "memory/juce_WeakReference.h" 246 #include "threads/juce_ScopedLock.h" 247 #include "threads/juce_CriticalSection.h" 248 #include "maths/juce_Range.h" 249 #include "maths/juce_NormalisableRange.h" 250 #include "maths/juce_StatisticsAccumulator.h" 251 #include "containers/juce_ElementComparator.h" 252 #include "containers/juce_ArrayAllocationBase.h" 253 #include "containers/juce_ArrayBase.h" 254 #include "containers/juce_Array.h" 255 #include "containers/juce_LinkedListPointer.h" 256 #include "containers/juce_ListenerList.h" 257 #include "containers/juce_OwnedArray.h" 258 #include "containers/juce_ReferenceCountedArray.h" 259 #include "containers/juce_ScopedValueSetter.h" 260 #include "containers/juce_SortedSet.h" 261 #include "containers/juce_SparseSet.h" 262 #include "containers/juce_AbstractFifo.h" 263 #include "text/juce_NewLine.h" 264 #include "text/juce_StringPool.h" 265 #include "text/juce_Identifier.h" 266 #include "text/juce_StringArray.h" 267 #include "system/juce_SystemStats.h" 268 #include "memory/juce_HeavyweightLeakedObjectDetector.h" 269 #include "text/juce_StringPairArray.h" 270 #include "text/juce_TextDiff.h" 271 #include "text/juce_LocalisedStrings.h" 272 #include "text/juce_Base64.h" 273 #include "misc/juce_Result.h" 274 #include "misc/juce_Uuid.h" 275 #include "misc/juce_ConsoleApplication.h" 276 #include "containers/juce_Variant.h" 277 #include "containers/juce_NamedValueSet.h" 278 #include "containers/juce_DynamicObject.h" 279 #include "containers/juce_HashMap.h" 280 #include "time/juce_RelativeTime.h" 281 #include "time/juce_Time.h" 282 #include "streams/juce_InputStream.h" 283 #include "streams/juce_OutputStream.h" 284 #include "streams/juce_BufferedInputStream.h" 285 #include "streams/juce_MemoryInputStream.h" 286 #include "streams/juce_MemoryOutputStream.h" 287 #include "streams/juce_SubregionStream.h" 288 #include "streams/juce_InputSource.h" 289 #include "files/juce_File.h" 290 #include "files/juce_DirectoryIterator.h" 291 #include "files/juce_FileInputStream.h" 292 #include "files/juce_FileOutputStream.h" 293 #include "files/juce_FileSearchPath.h" 294 #include "files/juce_MemoryMappedFile.h" 295 #include "files/juce_TemporaryFile.h" 296 #include "files/juce_FileFilter.h" 297 #include "files/juce_WildcardFileFilter.h" 298 #include "streams/juce_FileInputSource.h" 299 #include "logging/juce_FileLogger.h" 300 #include "javascript/juce_JSON.h" 301 #include "javascript/juce_Javascript.h" 302 #include "maths/juce_BigInteger.h" 303 #include "maths/juce_Expression.h" 304 #include "maths/juce_Random.h" 305 #include "misc/juce_RuntimePermissions.h" 306 #include "misc/juce_WindowsRegistry.h" 307 #include "threads/juce_ChildProcess.h" 308 #include "threads/juce_DynamicLibrary.h" 309 #include "threads/juce_HighResolutionTimer.h" 310 #include "threads/juce_InterProcessLock.h" 311 #include "threads/juce_Process.h" 312 #include "threads/juce_SpinLock.h" 313 #include "threads/juce_WaitableEvent.h" 314 #include "threads/juce_Thread.h" 315 #include "threads/juce_ThreadLocalValue.h" 316 #include "threads/juce_ThreadPool.h" 317 #include "threads/juce_TimeSliceThread.h" 318 #include "threads/juce_ReadWriteLock.h" 319 #include "threads/juce_ScopedReadLock.h" 320 #include "threads/juce_ScopedWriteLock.h" 321 #include "network/juce_IPAddress.h" 322 #include "network/juce_MACAddress.h" 323 #include "network/juce_NamedPipe.h" 324 #include "network/juce_Socket.h" 325 #include "network/juce_URL.h" 326 #include "network/juce_WebInputStream.h" 327 #include "streams/juce_URLInputSource.h" 328 #include "time/juce_PerformanceCounter.h" 329 #include "unit_tests/juce_UnitTest.h" 330 #include "xml/juce_XmlDocument.h" 331 #include "xml/juce_XmlElement.h" 332 #include "zip/juce_GZIPCompressorOutputStream.h" 333 #include "zip/juce_GZIPDecompressorInputStream.h" 334 #include "zip/juce_ZipFile.h" 335 #include "containers/juce_PropertySet.h" 336 #include "memory/juce_SharedResourcePointer.h" 338 #if JUCE_CORE_INCLUDE_OBJC_HELPERS && (JUCE_MAC || JUCE_IOS) 339 #include "native/juce_osx_ObjCHelpers.h" 342 #if JUCE_CORE_INCLUDE_COM_SMART_PTR && JUCE_WINDOWS 343 #include "native/juce_win32_ComSmartPtr.h" 346 #if JUCE_CORE_INCLUDE_JNI_HELPERS && JUCE_ANDROID 348 #include "native/juce_android_JNIHelpers.h" 352 #include "unit_tests/juce_UnitTestCategories.h" 367 struct JUCE_API this_will_fail_to_link_if_some_of_your_compile_units_are_built_in_debug_mode
368 { this_will_fail_to_link_if_some_of_your_compile_units_are_built_in_debug_mode() noexcept; };
369 static this_will_fail_to_link_if_some_of_your_compile_units_are_built_in_debug_mode compileUnitMismatchSentinel;
371 struct JUCE_API this_will_fail_to_link_if_some_of_your_compile_units_are_built_in_release_mode
372 { this_will_fail_to_link_if_some_of_your_compile_units_are_built_in_release_mode() noexcept; };
373 static this_will_fail_to_link_if_some_of_your_compile_units_are_built_in_release_mode compileUnitMismatchSentinel;
379 #pragma warning (pop) 382 #if defined (JUCE_DLL_BUILD) || defined (JUCE_DLL) 383 #pragma warning (disable: 4251)