JUCE: juce_PlatformDefs.h File Reference

JUCE

- Main Page
- Related Pages
- Topics
- Classes
- Files

- File List
- File Members

Loading...
Searching...
No Matches
Macros
juce_PlatformDefs.h File Reference

## Macros
#define | JUCE_CALLTYPE
| This macro defines the C calling convention used as the standard for JUCE calls.
#define | JUCE_CDECL
#define | JUCE_LOG_CURRENT_ASSERTION
#define | JUCE_BREAK_IN_DEBUGGER { ::kill (0, SIGTRAP); }
| This will try to break into the debugger if the app is currently being debugged.
#define | JUCE_ANALYZER_NORETURN
#define | JUCE_FALLTHROUGH
| Used to silence Wimplicit-fallthrough on Clang and GCC where available as there are a few places in the codebase where we need to do this deliberately and want to ignore the warning.
#define | JUCE_BLOCK_WITH_FORCED_SEMICOLON(x) do { x } while (false)
| This is the good old C++ trick for creating a macro that forces the user to put a semicolon after it when they use it.
#define | DBG(textToWrite) JUCE_BLOCK_WITH_FORCED_SEMICOLON (juce::String tempDbgBuf; tempDbgBuf << textToWrite; juce::Logger::outputDebugString (tempDbgBuf);)
| Writes a string to the standard error stream.
#define | jassertfalse JUCE_BLOCK_WITH_FORCED_SEMICOLON (JUCE_LOG_CURRENT_ASSERTION; if (juce::juce_isRunningUnderDebugger()) JUCE_BREAK_IN_DEBUGGER; JUCE_ANALYZER_NORETURN)
| This will always cause an assertion failure.
#define | jassert(expression) JUCE_BLOCK_WITH_FORCED_SEMICOLON (if (! (expression)) jassertfalse;)
| Platform-independent assertion macro.
#define | jassertquiet(expression) JUCE_BLOCK_WITH_FORCED_SEMICOLON (if (! (expression)) jassertfalse;)
| Platform-independent assertion macro which suppresses ignored-variable warnings in all build modes.
#define | JUCE_JOIN_MACRO(item1, item2) JUCE_JOIN_MACRO_HELPER (item1, item2)
| A good old-fashioned C macro concatenation helper.
#define | JUCE_STRINGIFY(item) JUCE_STRINGIFY_MACRO_HELPER (item)
| A handy C macro for stringifying any symbol, rather than just a macro parameter.
#define | JUCE_DECLARE_NON_COPYABLE(className)
| This is a shorthand macro for deleting a class's copy constructor and copy assignment operator.
#define | JUCE_DECLARE_NON_MOVEABLE(className)
| This is a shorthand macro for deleting a class's move constructor and move assignment operator.
#define | JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(className)
| This is a shorthand way of writing both a JUCE_DECLARE_NON_COPYABLE and JUCE_LEAK_DETECTOR macro for a class.
#define | JUCE_PREVENT_HEAP_ALLOCATION
| This macro can be added to class definitions to disable the use of new/delete to allocate the object on the heap, forcing it to only be used as a stack or member variable.
#define | JUCE_COMPILER_WARNING(message) _Pragma(JUCE_STRINGIFY (JUCE_WARNING_HELPER (message)))
| This macro allows you to emit a custom compiler warning message.
#define | forcedinline inline
| A platform-independent way of forcing an inline function.
#define | JUCE_ALIGN(bytes) __declspec (align (bytes))
| This can be placed before a stack or member variable declaration to tell the compiler to align it to the specified number of bytes.
#define | JUCE_NO_ASSOCIATIVE_MATH_OPTIMISATIONS __attribute__ ((__optimize__ ("no-associative-math")))
| This can be appended to a function declaration to tell gcc to disable associative math optimisations which break some floating point algorithms.