openshot-audio  0.1.2
Classes | Namespaces | Macros
juce_PlatformDefs.h File Reference

Go to the source code of this file.

Classes

struct  juce::JuceStaticAssert< b >
 
struct  juce::JuceStaticAssert< true >
 

Namespaces

 juce
 

Macros

#define JUCE_CALLTYPE
 
#define JUCE_CDECL
 
#define juce_LogCurrentAssertion
 
#define juce_breakDebugger   { __asm int 3 }
 
#define JUCE_ANALYZER_NORETURN
 
#define MACRO_WITH_FORCED_SEMICOLON(x)   do { x } while (false)
 
#define DBG(dbgtext)
 
#define jassertfalse   MACRO_WITH_FORCED_SEMICOLON (juce_LogCurrentAssertion)
 
#define jassert(a)   MACRO_WITH_FORCED_SEMICOLON ( ; )
 
#define static_jassert(expression)   juce::JuceStaticAssert<expression>::dummy();
 
#define JUCE_DECLARE_NON_COPYABLE(className)
 
#define JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(className)
 
#define JUCE_PREVENT_HEAP_ALLOCATION
 
#define JUCE_JOIN_MACRO_HELPER(a, b)   a ## b
 
#define JUCE_STRINGIFY_MACRO_HELPER(a)   #a
 
#define JUCE_JOIN_MACRO(item1, item2)   JUCE_JOIN_MACRO_HELPER (item1, item2)
 
#define JUCE_STRINGIFY(item)   JUCE_STRINGIFY_MACRO_HELPER (item)
 
#define JUCE_WARNING_HELPER(mess)   message(#mess)
 
#define JUCE_COMPILER_WARNING(message)   _Pragma(JUCE_STRINGIFY (JUCE_WARNING_HELPER (message)));
 
#define JUCE_TRY
 
#define JUCE_CATCH_EXCEPTION
 
#define JUCE_CATCH_ALL
 
#define JUCE_CATCH_ALL_ASSERT
 
#define forcedinline   inline __attribute__((always_inline))
 
#define JUCE_ALIGN(bytes)   __attribute__ ((aligned (bytes)))
 
#define JUCE_DEPRECATED(functionDef)   functionDef
 
#define JUCE_DEPRECATED_WITH_BODY(functionDef, body)   functionDef body
 
#define JUCE_MODAL_LOOPS_PERMITTED   1
 
#define JUCE_PACKED
 

Macro Definition Documentation

#define DBG (   dbgtext)
#define forcedinline   inline __attribute__((always_inline))
#define jassert (   a)    MACRO_WITH_FORCED_SEMICOLON ( ; )
#define JUCE_ALIGN (   bytes)    __attribute__ ((aligned (bytes)))
#define JUCE_ANALYZER_NORETURN
#define juce_breakDebugger   { __asm int 3 }
#define JUCE_CALLTYPE

This macro defines the C calling convention used as the standard for Juce calls.

#define JUCE_CATCH_ALL
#define JUCE_CATCH_ALL_ASSERT
#define JUCE_CATCH_EXCEPTION
#define JUCE_CDECL
#define JUCE_COMPILER_WARNING (   message)    _Pragma(JUCE_STRINGIFY (JUCE_WARNING_HELPER (message)));

This macro allows you to emit a custom compiler warning message. Very handy for marking bits of code as "to-do" items, or for shaming code written by your co-workers in a way that's hard to ignore.

GCC and Clang provide the #warning directive, but MSVC doesn't, so this macro is a cross-compiler way to get the same functionality as #warning.

#define JUCE_DECLARE_NON_COPYABLE (   className)
Value:
className (const className&) JUCE_DELETED_FUNCTION;\
className& operator= (const className&) JUCE_DELETED_FUNCTION;
#define const
#define JUCE_DELETED_FUNCTION
Definition: juce_CompilerSupport.h:133

This is a shorthand macro for declaring stubs for a class's copy constructor and operator=.

For example, instead of

1 class MyClass
2 {
3  etc..
4 
5 private:
6  MyClass (const MyClass&);
7  MyClass& operator= (const MyClass&);
8 };

..you can just write:

1 class MyClass
2 {
3  etc..
4 
5 private:
6  JUCE_DECLARE_NON_COPYABLE (MyClass)
7 };
#define JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (   className)
Value:
#define JUCE_DECLARE_NON_COPYABLE(className)
Definition: juce_PlatformDefs.h:191
#define JUCE_LEAK_DETECTOR(OwnerClass)
Definition: juce_LeakedObjectDetector.h:141

This is a shorthand way of writing both a JUCE_DECLARE_NON_COPYABLE and JUCE_LEAK_DETECTOR macro for a class.

#define JUCE_DEPRECATED (   functionDef)    functionDef
#define JUCE_DEPRECATED_WITH_BODY (   functionDef,
  body 
)    functionDef body
#define JUCE_JOIN_MACRO (   item1,
  item2 
)    JUCE_JOIN_MACRO_HELPER (item1, item2)

A good old-fashioned C macro concatenation helper. This combines two items (which may themselves be macros) into a single string, avoiding the pitfalls of the ## macro operator.

#define JUCE_JOIN_MACRO_HELPER (   a,
  b 
)    a ## b
#define juce_LogCurrentAssertion
#define JUCE_MODAL_LOOPS_PERMITTED   1

Some operating environments don't provide a modal loop mechanism, so this flag can be used to disable any functions that try to run a modal loop.

class JUCE_API PixelAlpha JUCE_PACKED
#define JUCE_PREVENT_HEAP_ALLOCATION
Value:
private: \
static void* operator new (size_t) JUCE_DELETED_FUNCTION; \
static void operator delete (void*) JUCE_DELETED_FUNCTION;
#define JUCE_DELETED_FUNCTION
Definition: juce_CompilerSupport.h:133

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_STRINGIFY (   item)    JUCE_STRINGIFY_MACRO_HELPER (item)

A handy C macro for stringifying any symbol, rather than just a macro parameter.

#define JUCE_STRINGIFY_MACRO_HELPER (   a)    #a
#define JUCE_TRY
#define JUCE_WARNING_HELPER (   mess)    message(#mess)
#define MACRO_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 static_jassert (   expression)    juce::JuceStaticAssert<expression>::dummy();

A compile-time assertion macro. If the expression parameter is false, the macro will cause a compile error. (The actual error message that the compiler generates may be completely bizarre and seem to have no relation to the place where you put the static_assert though!)