LMMS
Loading...
Searching...
No Matches
juce_StandardHeader.h
Go to the documentation of this file.
1/*
2 ==============================================================================
3
4 This file is part of the JUCE library.
5 Copyright (c) 2022 - Raw Material Software Limited
6
7 JUCE is an open source library subject to commercial or open-source
8 licensing.
9
10 The code included in this file is provided under the terms of the ISC license
11 http://www.isc.org/downloads/software-support-policy/isc-license. Permission
12 To use, copy, modify, and/or distribute this software for any purpose with or
13 without fee is hereby granted provided that the above copyright notice and
14 this permission notice appear in all copies.
15
16 JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER
17 EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE
18 DISCLAIMED.
19
20 ==============================================================================
21*/
22
23#pragma once
24
25//==============================================================================
30#define JUCE_MAJOR_VERSION 7
31#define JUCE_MINOR_VERSION 0
32#define JUCE_BUILDNUMBER 1
33
42#define JUCE_VERSION ((JUCE_MAJOR_VERSION << 16) + (JUCE_MINOR_VERSION << 8) + JUCE_BUILDNUMBER)
43
44#if ! DOXYGEN
45#define JUCE_VERSION_ID \
46 volatile auto juceVersionId = "juce_version_" JUCE_STRINGIFY(JUCE_MAJOR_VERSION) "_" JUCE_STRINGIFY(JUCE_MINOR_VERSION) "_" JUCE_STRINGIFY(JUCE_BUILDNUMBER); \
47 ignoreUnused (juceVersionId);
48#endif
49
50//==============================================================================
51#include <algorithm>
52#include <array>
53#include <atomic>
54#include <cmath>
55#include <condition_variable>
56#include <cstddef>
57#include <functional>
58#include <iomanip>
59#include <iostream>
60#include <limits>
61#include <list>
62#include <map>
63#include <memory>
64#include <mutex>
65#include <numeric>
66#include <queue>
67#include <set>
68#include <sstream>
69#include <typeindex>
70#include <unordered_map>
71#include <unordered_set>
72#include <utility>
73#include <vector>
74#include <set>
75
76//==============================================================================
79#include "juce_PlatformDefs.h"
80
81//==============================================================================
82// Now we'll include some common OS headers..
84
85#if JUCE_MSVC
86 #include <intrin.h>
87#endif
88
89
90#if JUCE_MAC || JUCE_IOS
91 #include <libkern/OSAtomic.h>
92 #include <xlocale.h>
93 #include <signal.h>
94#endif
95
96#if JUCE_LINUX || JUCE_BSD
97 #include <cstring>
98 #include <signal.h>
99
100 #if __INTEL_COMPILER
101 #if __ia64__
102 #include <ia64intrin.h>
103 #else
104 #include <ia32intrin.h>
105 #endif
106 #endif
107#endif
108
109#if JUCE_MSVC && JUCE_DEBUG
110 #include <crtdbg.h>
111#endif
112
114
115#if JUCE_MINGW
116 #include <cstring>
117 #include <sys/types.h>
118#endif
119
120#if JUCE_ANDROID
121 #include <cstring>
122 #include <byteswap.h>
123#endif
124
125// undef symbols that are sometimes set by misguided 3rd-party headers..
126#undef TYPE_BOOL
127#undef max
128#undef min
129#undef major
130#undef minor
131#undef KeyPress
132
133//==============================================================================
134// DLL building settings on Windows
135#if JUCE_MSVC
136 #ifdef JUCE_DLL_BUILD
137 #define JUCE_API __declspec (dllexport)
138 #pragma warning (disable: 4251)
139 #elif defined (JUCE_DLL)
140 #define JUCE_API __declspec (dllimport)
141 #pragma warning (disable: 4251)
142 #endif
143 #ifdef __INTEL_COMPILER
144 #pragma warning (disable: 1125) // (virtual override warning)
145 #endif
146#elif defined (JUCE_DLL) || defined (JUCE_DLL_BUILD)
147 #define JUCE_API __attribute__ ((visibility("default")))
148#endif
149
150//==============================================================================
151#ifndef JUCE_API
152 #define JUCE_API
153#endif
154
155#if JUCE_MSVC && JUCE_DLL_BUILD
156 #define JUCE_PUBLIC_IN_DLL_BUILD(declaration) public: declaration; private:
157#else
158 #define JUCE_PUBLIC_IN_DLL_BUILD(declaration) declaration;
159#endif
160
162#define JUCE_PUBLIC_FUNCTION JUCE_API JUCE_CALLTYPE
163
164#ifndef DOXYGEN
165 #define JUCE_NAMESPACE juce // This old macro is deprecated: you should just use the juce namespace directly.
166#endif
#define JUCE_BEGIN_IGNORE_WARNINGS_MSVC(warnings)
Definition juce_CompilerWarnings.h:198
#define JUCE_END_IGNORE_WARNINGS_MSVC
Definition juce_CompilerWarnings.h:199