Browse Source

Removed some defunct code from the C++1 feature detection macros, and simplified code which no longer needs to test for feature availability

tags/2021-05-28
jules 7 years ago
parent
commit
8d09eaadb6
25 changed files with 74 additions and 146 deletions
  1. +1
    -1
      extras/Projucer/Source/Project/jucer_ProjectType.h
  2. +1
    -1
      extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_Xcode.h
  3. +3
    -7
      modules/juce_audio_plugin_client/AU/juce_AUv3_Wrapper.mm
  4. +1
    -1
      modules/juce_audio_plugin_client/VST3/juce_VST3_Wrapper.cpp
  5. +1
    -1
      modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.mm
  6. +1
    -1
      modules/juce_core/containers/juce_ElementComparator.h
  7. +1
    -1
      modules/juce_core/containers/juce_HashMap.h
  8. +1
    -1
      modules/juce_core/javascript/juce_JSON.h
  9. +1
    -1
      modules/juce_core/memory/juce_ByteOrder.h
  10. +1
    -1
      modules/juce_core/memory/juce_OptionalScopedPointer.h
  11. +1
    -1
      modules/juce_core/misc/juce_WindowsRegistry.h
  12. +0
    -6
      modules/juce_core/native/juce_osx_ObjCHelpers.h
  13. +30
    -71
      modules/juce_core/system/juce_CompilerSupport.h
  14. +4
    -4
      modules/juce_core/system/juce_PlatformDefs.h
  15. +0
    -9
      modules/juce_core/system/juce_TargetPlatform.h
  16. +1
    -1
      modules/juce_core/text/juce_String.cpp
  17. +2
    -2
      modules/juce_core/xml/juce_XmlElement.h
  18. +1
    -1
      modules/juce_cryptography/hashing/juce_MD5.h
  19. +2
    -2
      modules/juce_data_structures/values/juce_Value.h
  20. +1
    -1
      modules/juce_gui_basics/components/juce_Component.h
  21. +1
    -1
      modules/juce_gui_basics/drawables/juce_SVGParser.cpp
  22. +1
    -1
      modules/juce_gui_basics/windows/juce_NativeMessageBox.h
  23. +0
    -2
      modules/juce_osc/osc/juce_OSCMessage.cpp
  24. +6
    -12
      modules/juce_osc/osc/juce_OSCMessage.h
  25. +12
    -16
      modules/juce_osc/osc/juce_OSCSender.h

+ 1
- 1
extras/Projucer/Source/Project/jucer_ProjectType.h View File

@@ -94,7 +94,7 @@ public:
private: private:
//============================================================================== //==============================================================================
Target& operator= (const Target&) JUCE_DELETED_FUNCTION;
Target& operator= (const Target&) = delete;
}; };
virtual bool supportsTargetType (Target::Type /*targetType*/) const { return false; } virtual bool supportsTargetType (Target::Type /*targetType*/) const { return false; }


+ 1
- 1
extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_Xcode.h View File

@@ -1675,7 +1675,7 @@ public:
//============================================================================== //==============================================================================
const XcodeProjectExporter& owner; const XcodeProjectExporter& owner;
Target& operator= (const Target&) JUCE_DELETED_FUNCTION;
Target& operator= (const Target&) = delete;
}; };
mutable StringArray xcodeFrameworks; mutable StringArray xcodeFrameworks;


+ 3
- 7
modules/juce_audio_plugin_client/AU/juce_AUv3_Wrapper.mm View File

@@ -68,10 +68,6 @@
#define JUCE_VIEWCONTROLLER_OBJC_NAME(x) JUCE_JOIN_MACRO (x, FactoryAUv3) #define JUCE_VIEWCONTROLLER_OBJC_NAME(x) JUCE_JOIN_MACRO (x, FactoryAUv3)
#if ! JUCE_COMPILER_SUPPORTS_VARIADIC_TEMPLATES
#error AUv3 wrapper requires variadic template support
#endif
#if JUCE_IOS #if JUCE_IOS
#define JUCE_IOS_MAC_VIEW UIView #define JUCE_IOS_MAC_VIEW UIView
#else #else
@@ -122,9 +118,9 @@ struct AudioProcessorHolder : public ReferenceCountedObject
private: private:
ScopedPointer<AudioProcessor> processor; ScopedPointer<AudioProcessor> processor;
AudioProcessorHolder& operator= (AudioProcessor*) JUCE_DELETED_FUNCTION;
AudioProcessorHolder (AudioProcessorHolder&) JUCE_DELETED_FUNCTION;
AudioProcessorHolder& operator= (AudioProcessorHolder&) JUCE_DELETED_FUNCTION;
AudioProcessorHolder& operator= (AudioProcessor*) = delete;
AudioProcessorHolder (AudioProcessorHolder&) = delete;
AudioProcessorHolder& operator= (AudioProcessorHolder&) = delete;
}; };
//============================================================================== //==============================================================================


+ 1
- 1
modules/juce_audio_plugin_client/VST3/juce_VST3_Wrapper.cpp View File

@@ -106,7 +106,7 @@ private:
ScopedPointer<AudioProcessor> audioProcessor; ScopedPointer<AudioProcessor> audioProcessor;
ScopedJuceInitialiser_GUI libraryInitialiser; ScopedJuceInitialiser_GUI libraryInitialiser;
JuceAudioProcessor() JUCE_DELETED_FUNCTION;
JuceAudioProcessor() = delete;
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (JuceAudioProcessor) JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (JuceAudioProcessor)
}; };


+ 1
- 1
modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.mm View File

@@ -39,7 +39,7 @@
#endif #endif
#ifndef JUCE_SUPPORTS_AUv3 #ifndef JUCE_SUPPORTS_AUv3
#if JUCE_COMPILER_SUPPORTS_VARIADIC_TEMPLATES && __OBJC2__ \
#if __OBJC2__ \
&& ((defined (MAC_OS_X_VERSION_MIN_REQUIRED) && defined (MAC_OS_X_VERSION_10_11) && (MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11)) \ && ((defined (MAC_OS_X_VERSION_MIN_REQUIRED) && defined (MAC_OS_X_VERSION_10_11) && (MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11)) \
|| (defined (__IPHONE_OS_VERSION_MIN_REQUIRED) && defined (__IPHONE_9_0) && (__IPHONE_OS_VERSION_MIN_REQUIRED >= __IPHONE_9_0))) || (defined (__IPHONE_OS_VERSION_MIN_REQUIRED) && defined (__IPHONE_9_0) && (__IPHONE_OS_VERSION_MIN_REQUIRED >= __IPHONE_9_0)))
#define JUCE_SUPPORTS_AUv3 1 #define JUCE_SUPPORTS_AUv3 1


+ 1
- 1
modules/juce_core/containers/juce_ElementComparator.h View File

@@ -39,7 +39,7 @@ struct SortFunctionConverter
private: private:
ElementComparator& comparator; ElementComparator& comparator;
SortFunctionConverter& operator= (const SortFunctionConverter&) JUCE_DELETED_FUNCTION;
SortFunctionConverter& operator= (const SortFunctionConverter&) = delete;
}; };
#endif #endif


+ 1
- 1
modules/juce_core/containers/juce_HashMap.h View File

@@ -455,7 +455,7 @@ public:
int index; int index;
// using the copy constructor is ok, but you cannot assign iterators // using the copy constructor is ok, but you cannot assign iterators
Iterator& operator= (const Iterator&) JUCE_DELETED_FUNCTION;
Iterator& operator= (const Iterator&) = delete;
JUCE_LEAK_DETECTOR (Iterator) JUCE_LEAK_DETECTOR (Iterator)
}; };


+ 1
- 1
modules/juce_core/javascript/juce_JSON.h View File

@@ -126,7 +126,7 @@ public:
private: private:
//============================================================================== //==============================================================================
JSON() JUCE_DELETED_FUNCTION; // This class can't be instantiated - just use its static methods.
JSON() = delete; // This class can't be instantiated - just use its static methods.
}; };
} // namespace juce } // namespace juce

+ 1
- 1
modules/juce_core/memory/juce_ByteOrder.h View File

@@ -129,7 +129,7 @@ public:
JUCE_CONSTEXPR static bool isBigEndian() noexcept; JUCE_CONSTEXPR static bool isBigEndian() noexcept;
private: private:
ByteOrder() JUCE_DELETED_FUNCTION;
ByteOrder() = delete;
JUCE_DECLARE_NON_COPYABLE (ByteOrder) JUCE_DECLARE_NON_COPYABLE (ByteOrder)
}; };


+ 1
- 1
modules/juce_core/memory/juce_OptionalScopedPointer.h View File

@@ -181,7 +181,7 @@ private:
// a scoped pointer, which is almost certainly not what you intended to do! // a scoped pointer, which is almost certainly not what you intended to do!
// If you hit a problem with this, you probably meant to say // If you hit a problem with this, you probably meant to say
// myPointer.setOwned (myScopedPointer.release()) // myPointer.setOwned (myScopedPointer.release())
void setOwned (const ScopedPointer<ObjectType>&) JUCE_DELETED_FUNCTION;
void setOwned (const ScopedPointer<ObjectType>&) = delete;
}; };
} // namespace juce } // namespace juce

+ 1
- 1
modules/juce_core/misc/juce_WindowsRegistry.h View File

@@ -127,7 +127,7 @@ public:
JUCE_DEPRECATED (static bool keyExistsWow64 (const String&)); JUCE_DEPRECATED (static bool keyExistsWow64 (const String&));
private: private:
WindowsRegistry() JUCE_DELETED_FUNCTION;
WindowsRegistry() = delete;
JUCE_DECLARE_NON_COPYABLE (WindowsRegistry) JUCE_DECLARE_NON_COPYABLE (WindowsRegistry)
}; };


+ 0
- 6
modules/juce_core/native/juce_osx_ObjCHelpers.h View File

@@ -204,7 +204,6 @@ static NSRect makeNSRect (const RectangleType& r) noexcept
} }
#endif #endif
#if JUCE_MAC || JUCE_IOS #if JUCE_MAC || JUCE_IOS
#if JUCE_COMPILER_SUPPORTS_VARIADIC_TEMPLATES
// This is necessary as on iOS builds, some arguments may be passed on registers // This is necessary as on iOS builds, some arguments may be passed on registers
// depending on the argument type. The re-cast objc_msgSendSuper to a function // depending on the argument type. The re-cast objc_msgSendSuper to a function
@@ -217,8 +216,6 @@ static inline ReturnValue ObjCMsgSendSuper (struct objc_super* s, SEL sel, Param
return fn (s, sel, params...); return fn (s, sel, params...);
} }
#endif
// These hacks are a workaround for newer Xcode builds which by default prevent calls to these objc functions.. // These hacks are a workaround for newer Xcode builds which by default prevent calls to these objc functions..
typedef id (*MsgSendSuperFn) (struct objc_super*, SEL, ...); typedef id (*MsgSendSuperFn) (struct objc_super*, SEL, ...);
static inline MsgSendSuperFn getMsgSendSuperFn() noexcept { return (MsgSendSuperFn) (void*) objc_msgSendSuper; } static inline MsgSendSuperFn getMsgSendSuperFn() noexcept { return (MsgSendSuperFn) (void*) objc_msgSendSuper; }
@@ -399,8 +396,6 @@ Class* getJuceClassFromNSObject (NSObject* obj)
return obj != nullptr ? ObjCLifetimeManagedClass<Class>:: template getIvar<Class*> (obj, "cppObject") : nullptr; return obj != nullptr ? ObjCLifetimeManagedClass<Class>:: template getIvar<Class*> (obj, "cppObject") : nullptr;
} }
#if JUCE_COMPILER_SUPPORTS_VARIADIC_TEMPLATES
template <typename ReturnT, class Class, typename... Params> template <typename ReturnT, class Class, typename... Params>
ReturnT (^CreateObjCBlock(Class* object, ReturnT (Class::*fn)(Params...))) (Params...) ReturnT (^CreateObjCBlock(Class* object, ReturnT (Class::*fn)(Params...))) (Params...)
{ {
@@ -429,6 +424,5 @@ private:
BlockType block; BlockType block;
}; };
#endif
} // namespace juce } // namespace juce

+ 30
- 71
modules/juce_core/system/juce_CompilerSupport.h View File

@@ -22,29 +22,25 @@
#pragma once #pragma once
/* This file has some checks to see whether the compiler supports various C++11/14 features,
When these aren't available, the code defines a few workarounds, so that we can still use
some of the newer language features like nullptr and noexcept, even on old compilers.
/*
This file provides flags for compiler features that aren't supported on all platforms.
*/ */
//============================================================================== //==============================================================================
// GCC // GCC
#if (__cplusplus >= 201103L || defined (__GXX_EXPERIMENTAL_CXX0X__)) && (__GNUC__ * 100 + __GNUC_MINOR__) >= 405
#define JUCE_COMPILER_SUPPORTS_NOEXCEPT 1
#define JUCE_COMPILER_SUPPORTS_INITIALIZER_LISTS 1
#define JUCE_COMPILER_SUPPORTS_VARIADIC_TEMPLATES 1
#if JUCE_GCC
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && ! defined (JUCE_COMPILER_SUPPORTS_OVERRIDE_AND_FINAL)
#define JUCE_COMPILER_SUPPORTS_OVERRIDE_AND_FINAL 1
#if (__GNUC__ * 100 + __GNUC_MINOR__) < 407
#error "JUCE requires GCC 4.7 or later"
#endif #endif
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && ! defined (JUCE_DELETED_FUNCTION)
#define JUCE_DELETED_FUNCTION = delete
#if ! (__cplusplus >= 201103L || defined (__GXX_EXPERIMENTAL_CXX0X__))
#error "JUCE requires that GCC has C++11 compatibility enabled"
#endif #endif
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406
#define JUCE_STDLIB_HAS_STD_FUNCTION_SUPPORT 1
#endif
#define JUCE_COMPILER_SUPPORTS_NOEXCEPT 1
#define JUCE_COMPILER_SUPPORTS_INITIALIZER_LISTS 1
#define JUCE_STDLIB_HAS_STD_FUNCTION_SUPPORT 1
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 500 #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 500
#define JUCE_HAS_CONSTEXPR 1 #define JUCE_HAS_CONSTEXPR 1
@@ -59,36 +55,20 @@
//============================================================================== //==============================================================================
// Clang // Clang
#if JUCE_CLANG && defined (__has_feature)
#if JUCE_CLANG
#if __has_feature (cxx_noexcept)
#define JUCE_COMPILER_SUPPORTS_NOEXCEPT 1
#if __clang_major__ < 5
#error "JUCE requires Clang 5.0 or later"
#endif #endif
#if __has_feature (cxx_deleted_functions)
#define JUCE_DELETED_FUNCTION = delete
#endif
#define JUCE_COMPILER_SUPPORTS_NOEXCEPT 1
#define JUCE_HAS_CONSTEXPR 1
#if (defined (_LIBCPP_VERSION) || ! (JUCE_MAC || JUCE_IOS))
#if defined (_LIBCPP_VERSION) || ! (JUCE_MAC || JUCE_IOS)
#define JUCE_STDLIB_HAS_STD_FUNCTION_SUPPORT 1 #define JUCE_STDLIB_HAS_STD_FUNCTION_SUPPORT 1
#endif
#if __has_feature (cxx_generalized_initializers) && (defined (_LIBCPP_VERSION) || ! (JUCE_MAC || JUCE_IOS))
#define JUCE_COMPILER_SUPPORTS_INITIALIZER_LISTS 1 #define JUCE_COMPILER_SUPPORTS_INITIALIZER_LISTS 1
#endif #endif
#if __has_feature (cxx_variadic_templates)
#define JUCE_COMPILER_SUPPORTS_VARIADIC_TEMPLATES 1
#endif
#if __has_feature (cxx_override_control) && (! defined (JUCE_COMPILER_SUPPORTS_OVERRIDE_AND_FINAL))
#define JUCE_COMPILER_SUPPORTS_OVERRIDE_AND_FINAL 1
#endif
#if __has_feature(cxx_constexpr)
#define JUCE_HAS_CONSTEXPR 1
#endif
#ifndef JUCE_COMPILER_SUPPORTS_ARC #ifndef JUCE_COMPILER_SUPPORTS_ARC
#define JUCE_COMPILER_SUPPORTS_ARC 1 #define JUCE_COMPILER_SUPPORTS_ARC 1
#endif #endif
@@ -103,22 +83,22 @@
//============================================================================== //==============================================================================
// MSVC // MSVC
#ifdef _MSC_VER
#if JUCE_MSVC
#if _MSC_VER >= 1700
#define JUCE_COMPILER_SUPPORTS_OVERRIDE_AND_FINAL 1
#if _MSC_VER < 1800 // VS2013
#error "JUCE requires Visual Studio 2013 or later"
#endif #endif
#if _MSC_VER >= 1800
#define JUCE_COMPILER_SUPPORTS_INITIALIZER_LISTS 1
#define JUCE_COMPILER_SUPPORTS_VARIADIC_TEMPLATES 1
#define JUCE_DELETED_FUNCTION = delete
#define JUCE_STDLIB_HAS_STD_FUNCTION_SUPPORT 1
#endif
#define JUCE_COMPILER_SUPPORTS_INITIALIZER_LISTS 1
#define JUCE_STDLIB_HAS_STD_FUNCTION_SUPPORT 1
#if _MSC_VER >= 1900
#if _MSC_VER >= 1900 // VS2015
#define JUCE_COMPILER_SUPPORTS_NOEXCEPT 1 #define JUCE_COMPILER_SUPPORTS_NOEXCEPT 1
#define JUCE_HAS_CONSTEXPR 1 #define JUCE_HAS_CONSTEXPR 1
#else
#define _ALLOW_KEYWORD_MACROS 1 // prevent a warning
#undef noexcept
#define noexcept throw()
#endif #endif
#ifndef JUCE_EXCEPTIONS_DISABLED #ifndef JUCE_EXCEPTIONS_DISABLED
@@ -129,17 +109,6 @@
#endif #endif
//============================================================================== //==============================================================================
// Declare some fake versions of nullptr and noexcept, for older compilers:
#ifndef JUCE_DELETED_FUNCTION
/** This macro can be placed after a method declaration to allow the use of
the C++11 feature "= delete" on all compilers.
On newer compilers that support it, it does the C++11 "= delete", but on
older ones it's just an empty definition.
*/
#define JUCE_DELETED_FUNCTION
#endif
#if JUCE_HAS_CONSTEXPR #if JUCE_HAS_CONSTEXPR
#define JUCE_CONSTEXPR constexpr #define JUCE_CONSTEXPR constexpr
#else #else
@@ -147,20 +116,10 @@
#endif #endif
#if ! DOXYGEN #if ! DOXYGEN
#if ! JUCE_COMPILER_SUPPORTS_NOEXCEPT
#ifdef noexcept
#undef noexcept
#endif
#define noexcept throw()
#if defined (_MSC_VER) && _MSC_VER > 1600
#define _ALLOW_KEYWORD_MACROS 1 // (to stop VC2012 complaining)
#endif
#endif
#if ! JUCE_COMPILER_SUPPORTS_OVERRIDE_AND_FINAL
#undef override
#define override
#endif
// These are old flags that are now supported on all compatible build targets
#define JUCE_COMPILER_SUPPORTS_OVERRIDE_AND_FINAL 1
#define JUCE_COMPILER_SUPPORTS_VARIADIC_TEMPLATES 1
#define JUCE_DELETED_FUNCTION = delete
#endif #endif
//============================================================================== //==============================================================================


+ 4
- 4
modules/juce_core/system/juce_PlatformDefs.h View File

@@ -191,8 +191,8 @@ namespace juce
};@endcode };@endcode
*/ */
#define JUCE_DECLARE_NON_COPYABLE(className) \ #define JUCE_DECLARE_NON_COPYABLE(className) \
className (const className&) JUCE_DELETED_FUNCTION;\
className& operator= (const className&) JUCE_DELETED_FUNCTION;
className (const className&) = delete;\
className& operator= (const className&) = delete;
/** This is a shorthand way of writing both a JUCE_DECLARE_NON_COPYABLE and /** This is a shorthand way of writing both a JUCE_DECLARE_NON_COPYABLE and
JUCE_LEAK_DETECTOR macro for a class. JUCE_LEAK_DETECTOR macro for a class.
@@ -206,8 +206,8 @@ namespace juce
*/ */
#define JUCE_PREVENT_HEAP_ALLOCATION \ #define JUCE_PREVENT_HEAP_ALLOCATION \
private: \ private: \
static void* operator new (size_t) JUCE_DELETED_FUNCTION; \
static void operator delete (void*) JUCE_DELETED_FUNCTION;
static void* operator new (size_t) = delete; \
static void operator delete (void*) = delete;
//============================================================================== //==============================================================================
#if JUCE_MSVC && ! defined (DOXYGEN) #if JUCE_MSVC && ! defined (DOXYGEN)


+ 0
- 9
modules/juce_core/system/juce_TargetPlatform.h View File

@@ -185,21 +185,12 @@
#ifdef __clang__ #ifdef __clang__
#define JUCE_CLANG 1 #define JUCE_CLANG 1
#if ((! __has_feature (cxx_nullptr)) || (! __has_feature (cxx_rvalue_references)) || (! __has_feature (cxx_static_assert)))
#error "Clang 3.2 and earlier are no longer supported!"
#endif
#elif defined (__GNUC__) #elif defined (__GNUC__)
#define JUCE_GCC 1 #define JUCE_GCC 1
#if (__cplusplus < 201103L && (! defined (__GXX_EXPERIMENTAL_CXX0X__))) || ((__GNUC__ * 100 + __GNUC_MINOR__) < 406)
#error "GCC 4.5 and earlier are no longer supported!"
#endif
#elif defined (_MSC_VER) #elif defined (_MSC_VER)
#define JUCE_MSVC 1 #define JUCE_MSVC 1
#if _MSC_VER < 1600
#error "Visual Studio 2008 and earlier are no longer supported!"
#endif
#else #else
#error unknown compiler #error unknown compiler
#endif #endif

+ 1
- 1
modules/juce_core/text/juce_String.cpp View File

@@ -62,7 +62,7 @@ static const EmptyString emptyString = { 0x3fffffff, sizeof (String::CharPointer
class StringHolder class StringHolder
{ {
public: public:
StringHolder() JUCE_DELETED_FUNCTION;
StringHolder() = delete;
typedef String::CharPointerType CharPointerType; typedef String::CharPointerType CharPointerType;
typedef String::CharPointerType::CharType CharType; typedef String::CharPointerType::CharType CharType;


+ 2
- 2
modules/juce_core/xml/juce_XmlElement.h View File

@@ -734,7 +734,7 @@ private:
String value; String value;
private: private:
XmlAttributeNode& operator= (const XmlAttributeNode&) JUCE_DELETED_FUNCTION;
XmlAttributeNode& operator= (const XmlAttributeNode&) = delete;
}; };
friend class XmlDocument; friend class XmlDocument;
@@ -758,7 +758,7 @@ private:
// Sigh.. L"" or _T("") string literals are problematic in general, and really inappropriate // Sigh.. L"" or _T("") string literals are problematic in general, and really inappropriate
// for XML tags. Use a UTF-8 encoded literal instead, or if you're really determined to use // for XML tags. Use a UTF-8 encoded literal instead, or if you're really determined to use
// UTF-16, cast it to a String and use the other constructor. // UTF-16, cast it to a String and use the other constructor.
XmlElement (const wchar_t*) JUCE_DELETED_FUNCTION;
XmlElement (const wchar_t*) = delete;
JUCE_LEAK_DETECTOR (XmlElement) JUCE_LEAK_DETECTOR (XmlElement)
}; };


+ 1
- 1
modules/juce_cryptography/hashing/juce_MD5.h View File

@@ -111,7 +111,7 @@ private:
// This private constructor is declared here to prevent you accidentally passing a // This private constructor is declared here to prevent you accidentally passing a
// String and having it unexpectedly call the constructor that takes a File. // String and having it unexpectedly call the constructor that takes a File.
explicit MD5 (const String&) JUCE_DELETED_FUNCTION;
explicit MD5 (const String&) = delete;
JUCE_LEAK_DETECTOR (MD5) JUCE_LEAK_DETECTOR (MD5)
}; };


+ 2
- 2
modules/juce_data_structures/values/juce_Value.h View File

@@ -227,11 +227,11 @@ private:
// This is disallowed to avoid confusion about whether it should // This is disallowed to avoid confusion about whether it should
// do a by-value or by-reference copy. // do a by-value or by-reference copy.
Value& operator= (const Value&) JUCE_DELETED_FUNCTION;
Value& operator= (const Value&) = delete;
// This declaration prevents accidental construction from an integer of 0, // This declaration prevents accidental construction from an integer of 0,
// which is possible in some compilers via an implicit cast to a pointer. // which is possible in some compilers via an implicit cast to a pointer.
explicit Value (void*) JUCE_DELETED_FUNCTION;
explicit Value (void*) = delete;
}; };
/** Writes a Value to an OutputStream as a UTF8 string. */ /** Writes a Value to an OutputStream as a UTF8 string. */


+ 1
- 1
modules/juce_gui_basics/components/juce_Component.h View File

@@ -2374,7 +2374,7 @@ private:
// This is included here to cause an error if you use or overload it - it has been deprecated in // This is included here to cause an error if you use or overload it - it has been deprecated in
// favour of contains (Point<int>) // favour of contains (Point<int>)
void contains (int, int) JUCE_DELETED_FUNCTION;
void contains (int, int) = delete;
#endif #endif
protected: protected:


+ 1
- 1
modules/juce_gui_basics/drawables/juce_SVGParser.cpp View File

@@ -1686,7 +1686,7 @@ private:
deltaAngle = fmod (deltaAngle, MathConstants<double>::twoPi); deltaAngle = fmod (deltaAngle, MathConstants<double>::twoPi);
} }
SVGState& operator= (const SVGState&) JUCE_DELETED_FUNCTION;
SVGState& operator= (const SVGState&) = delete;
}; };


+ 1
- 1
modules/juce_gui_basics/windows/juce_NativeMessageBox.h View File

@@ -213,7 +213,7 @@ public:
#endif #endif
private: private:
NativeMessageBox() JUCE_DELETED_FUNCTION;
NativeMessageBox() = delete;
JUCE_DECLARE_NON_COPYABLE (NativeMessageBox) JUCE_DECLARE_NON_COPYABLE (NativeMessageBox)
}; };


+ 0
- 2
modules/juce_osc/osc/juce_OSCMessage.cpp View File

@@ -152,7 +152,6 @@ public:
} }
#if JUCE_COMPILER_SUPPORTS_VARIADIC_TEMPLATES
beginTest ("Initialisation with argument list (C++11 only)"); beginTest ("Initialisation with argument list (C++11 only)");
{ {
int testInt = 42; int testInt = 42;
@@ -197,7 +196,6 @@ public:
expectEquals (msg[4].getInt32(), testInt); expectEquals (msg[4].getInt32(), testInt);
} }
} }
#endif
} }
}; };


+ 6
- 12
modules/juce_osc/osc/juce_OSCMessage.h View File

@@ -53,7 +53,6 @@ public:
OSCMessage (const OSCAddressPattern& ap) noexcept; OSCMessage (const OSCAddressPattern& ap) noexcept;
#if JUCE_COMPILER_SUPPORTS_VARIADIC_TEMPLATES
/** Constructs an OSCMessage object with the given address pattern and list /** Constructs an OSCMessage object with the given address pattern and list
of arguments. of arguments.
@@ -68,7 +67,6 @@ public:
*/ */
template <typename Arg1, typename... Args> template <typename Arg1, typename... Args>
OSCMessage (const OSCAddressPattern& ap, Arg1&& arg1, Args&&... args); OSCMessage (const OSCAddressPattern& ap, Arg1&& arg1, Args&&... args);
#endif
/** Sets the address pattern of the OSCMessage. /** Sets the address pattern of the OSCMessage.
@@ -143,7 +141,6 @@ public:
private: private:
//============================================================================== //==============================================================================
#if JUCE_COMPILER_SUPPORTS_VARIADIC_TEMPLATES
template <typename Arg1, typename... Args> template <typename Arg1, typename... Args>
void addArguments (Arg1&& arg1, Args&&... args) void addArguments (Arg1&& arg1, Args&&... args)
{ {
@@ -152,7 +149,6 @@ private:
} }
void addArguments() {} void addArguments() {}
#endif
//============================================================================== //==============================================================================
OSCAddressPattern addressPattern; OSCAddressPattern addressPattern;
@@ -161,13 +157,11 @@ private:
//============================================================================== //==============================================================================
#if JUCE_COMPILER_SUPPORTS_VARIADIC_TEMPLATES
template <typename Arg1, typename... Args>
OSCMessage::OSCMessage (const OSCAddressPattern& ap, Arg1&& arg1, Args&&... args)
: addressPattern (ap)
{
addArguments (std::forward<Arg1> (arg1), std::forward<Args> (args)...);
}
#endif
template <typename Arg1, typename... Args>
OSCMessage::OSCMessage (const OSCAddressPattern& ap, Arg1&& arg1, Args&&... args)
: addressPattern (ap)
{
addArguments (std::forward<Arg1> (arg1), std::forward<Args> (args)...);
}
} // namespace juce } // namespace juce

+ 12
- 16
modules/juce_osc/osc/juce_OSCSender.h View File

@@ -113,7 +113,6 @@ public:
bool sendToIPAddress (const String& targetIPAddress, int targetPortNumber, bool sendToIPAddress (const String& targetIPAddress, int targetPortNumber,
const OSCBundle& bundle); const OSCBundle& bundle);
#if JUCE_COMPILER_SUPPORTS_VARIADIC_TEMPLATES
/** Creates a new OSC message with the specified address pattern and list /** Creates a new OSC message with the specified address pattern and list
of arguments, and sends it to the target. of arguments, and sends it to the target.
@@ -136,7 +135,6 @@ public:
template <typename... Args> template <typename... Args>
bool sendToIPAddress (const String& targetIPAddress, int targetPortNumber, bool sendToIPAddress (const String& targetIPAddress, int targetPortNumber,
const OSCAddressPattern& address, Args&&... args); const OSCAddressPattern& address, Args&&... args);
#endif
private: private:
//============================================================================== //==============================================================================
@@ -150,19 +148,17 @@ private:
//============================================================================== //==============================================================================
#if JUCE_COMPILER_SUPPORTS_VARIADIC_TEMPLATES
template <typename... Args>
bool OSCSender::send (const OSCAddressPattern& address, Args&&... args)
{
return send (OSCMessage (address, std::forward<Args> (args)...));
}
template <typename... Args>
bool OSCSender::sendToIPAddress (const String& targetIPAddress, int targetPortNumber,
const OSCAddressPattern& address, Args&&... args)
{
return sendToIPAddress (targetIPAddress, targetPortNumber, OSCMessage (address, std::forward<Args> (args)...));
}
#endif // JUCE_COMPILER_SUPPORTS_VARIADIC_TEMPLATES
template <typename... Args>
bool OSCSender::send (const OSCAddressPattern& address, Args&&... args)
{
return send (OSCMessage (address, std::forward<Args> (args)...));
}
template <typename... Args>
bool OSCSender::sendToIPAddress (const String& targetIPAddress, int targetPortNumber,
const OSCAddressPattern& address, Args&&... args)
{
return sendToIPAddress (targetIPAddress, targetPortNumber, OSCMessage (address, std::forward<Args> (args)...));
}
} // namespace juce } // namespace juce

Loading…
Cancel
Save