mirror of
https://github.com/juce-framework/JUCE.git
synced 2026-01-10 23:44:24 +00:00
Added a compiler error if your compiler is too old and removed numerous code checks for old compilers which are now deprecated
This commit is contained in:
parent
871236d4cd
commit
9f3fb1c0a6
80 changed files with 121 additions and 263 deletions
|
|
@ -2055,8 +2055,6 @@ PREDEFINED = WIN32=1 \
|
|||
JUCE_LINUX=1 \
|
||||
DOXYGEN=1 \
|
||||
JUCE_COMPILER_SUPPORTS_NOEXCEPT=1 \
|
||||
JUCE_COMPILER_SUPPORTS_NULLPTR=1 \
|
||||
JUCE_COMPILER_SUPPORTS_MOVE_SEMANTICS=1 \
|
||||
JUCE_COMPILER_SUPPORTS_INITIALIZER_LISTS=1 \
|
||||
JUCE_COMPILER_SUPPORTS_VARIADIC_TEMPLATES=1 \
|
||||
JUCE_COMPILER_SUPPORTS_OVERRIDE_AND_FINAL=1 \
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@
|
|||
#include "../JuceDemoHeader.h"
|
||||
|
||||
// these classes are C++11-only
|
||||
#if JUCE_COMPILER_SUPPORTS_MOVE_SEMANTICS && JUCE_COMPILER_SUPPORTS_INITIALIZER_LISTS && JUCE_COMPILER_SUPPORTS_LAMBDAS
|
||||
#if JUCE_COMPILER_SUPPORTS_INITIALIZER_LISTS && JUCE_COMPILER_SUPPORTS_LAMBDAS
|
||||
|
||||
struct DemoFlexPanel : public juce::Component,
|
||||
private juce::TextEditor::Listener,
|
||||
|
|
|
|||
|
|
@ -2066,8 +2066,6 @@ PREDEFINED = WIN32=1 \
|
|||
JUCE_LINUX=1 \
|
||||
DOXYGEN=1 \
|
||||
JUCE_COMPILER_SUPPORTS_NOEXCEPT=1 \
|
||||
JUCE_COMPILER_SUPPORTS_NULLPTR=1 \
|
||||
JUCE_COMPILER_SUPPORTS_MOVE_SEMANTICS=1 \
|
||||
JUCE_COMPILER_SUPPORTS_INITIALIZER_LISTS=1 \
|
||||
JUCE_COMPILER_SUPPORTS_VARIADIC_TEMPLATES=1 \
|
||||
JUCE_COMPILER_SUPPORTS_OVERRIDE_AND_FINAL=1 \
|
||||
|
|
|
|||
|
|
@ -371,7 +371,7 @@ public:
|
|||
{
|
||||
// If you're using interleaved data, call the other constructor! If you're using non-interleaved data,
|
||||
// you should pass NonInterleaved as the template parameter for the interleaving type!
|
||||
static_jassert (InterleavingType::isInterleavedType == 0);
|
||||
static_assert (InterleavingType::isInterleavedType == 0, "Incorrect constructor for interleaved data");
|
||||
}
|
||||
|
||||
/** Creates a pointer from some raw data in the appropriate format with the specified number of interleaved channels.
|
||||
|
|
@ -411,7 +411,8 @@ public:
|
|||
*/
|
||||
inline void setAsFloat (float newValue) noexcept
|
||||
{
|
||||
static_jassert (Constness::isConst == 0); // trying to write to a const pointer! For a writeable one, use AudioData::NonConst instead!
|
||||
// trying to write to a const pointer! For a writeable one, use AudioData::NonConst instead!
|
||||
static_assert (Constness::isConst == 0, "Attempt to write to a const pointer");
|
||||
Endianness::setAsFloat (data, newValue);
|
||||
}
|
||||
|
||||
|
|
@ -428,7 +429,8 @@ public:
|
|||
*/
|
||||
inline void setAsInt32 (int32 newValue) noexcept
|
||||
{
|
||||
static_jassert (Constness::isConst == 0); // trying to write to a const pointer! For a writeable one, use AudioData::NonConst instead!
|
||||
// trying to write to a const pointer! For a writeable one, use AudioData::NonConst instead!
|
||||
static_assert (Constness::isConst == 0, "Attempt to write to a const pointer");
|
||||
Endianness::setAsInt32 (data, newValue);
|
||||
}
|
||||
|
||||
|
|
@ -446,7 +448,8 @@ public:
|
|||
*/
|
||||
void convertSamples (Pointer source, int numSamples) const noexcept
|
||||
{
|
||||
static_jassert (Constness::isConst == 0); // trying to write to a const pointer! For a writeable one, use AudioData::NonConst instead!
|
||||
// trying to write to a const pointer! For a writeable one, use AudioData::NonConst instead!
|
||||
static_assert (Constness::isConst == 0, "Attempt to write to a const pointer");
|
||||
|
||||
for (Pointer dest (*this); --numSamples >= 0;)
|
||||
{
|
||||
|
|
@ -462,7 +465,8 @@ public:
|
|||
template <class OtherPointerType>
|
||||
void convertSamples (OtherPointerType source, int numSamples) const noexcept
|
||||
{
|
||||
static_jassert (Constness::isConst == 0); // trying to write to a const pointer! For a writeable one, use AudioData::NonConst instead!
|
||||
// trying to write to a const pointer! For a writeable one, use AudioData::NonConst instead!
|
||||
static_assert (Constness::isConst == 0, "Attempt to write to a const pointer");
|
||||
|
||||
Pointer dest (*this);
|
||||
|
||||
|
|
|
|||
|
|
@ -190,7 +190,6 @@ public:
|
|||
*/
|
||||
~AudioBuffer() noexcept {}
|
||||
|
||||
#if JUCE_COMPILER_SUPPORTS_MOVE_SEMANTICS
|
||||
/** Move constructor */
|
||||
AudioBuffer (AudioBuffer&& other) noexcept
|
||||
: numChannels (other.numChannels),
|
||||
|
|
@ -221,7 +220,6 @@ public:
|
|||
other.allocatedBytes = 0;
|
||||
return *this;
|
||||
}
|
||||
#endif
|
||||
|
||||
//==============================================================================
|
||||
/** Returns the number of channels of audio data that this buffer contains.
|
||||
|
|
|
|||
|
|
@ -285,7 +285,6 @@ MidiMessage& MidiMessage::operator= (const MidiMessage& other)
|
|||
return *this;
|
||||
}
|
||||
|
||||
#if JUCE_COMPILER_SUPPORTS_MOVE_SEMANTICS
|
||||
MidiMessage::MidiMessage (MidiMessage&& other) noexcept
|
||||
: timeStamp (other.timeStamp), size (other.size)
|
||||
{
|
||||
|
|
@ -301,7 +300,6 @@ MidiMessage& MidiMessage::operator= (MidiMessage&& other) noexcept
|
|||
other.size = 0;
|
||||
return *this;
|
||||
}
|
||||
#endif
|
||||
|
||||
MidiMessage::~MidiMessage() noexcept
|
||||
{
|
||||
|
|
|
|||
|
|
@ -115,10 +115,11 @@ public:
|
|||
/** Copies this message from another one. */
|
||||
MidiMessage& operator= (const MidiMessage& other);
|
||||
|
||||
#if JUCE_COMPILER_SUPPORTS_MOVE_SEMANTICS
|
||||
/** Move constructor */
|
||||
MidiMessage (MidiMessage&&) noexcept;
|
||||
|
||||
/** Move assignment operator */
|
||||
MidiMessage& operator= (MidiMessage&&) noexcept;
|
||||
#endif
|
||||
|
||||
//==============================================================================
|
||||
/** Returns a pointer to the raw midi data.
|
||||
|
|
|
|||
|
|
@ -54,17 +54,17 @@ public:
|
|||
/** Replaces this sequence with another one. */
|
||||
MidiMessageSequence& operator= (const MidiMessageSequence&);
|
||||
|
||||
#if JUCE_COMPILER_SUPPORTS_MOVE_SEMANTICS
|
||||
/** Move constructor */
|
||||
MidiMessageSequence (MidiMessageSequence&& other) noexcept
|
||||
: list (static_cast<OwnedArray<MidiEventHolder>&&> (other.list))
|
||||
{}
|
||||
|
||||
/** Move assignment operator */
|
||||
MidiMessageSequence& operator= (MidiMessageSequence&& other) noexcept
|
||||
{
|
||||
list = static_cast<OwnedArray<MidiEventHolder>&&> (other.list);
|
||||
return *this;
|
||||
}
|
||||
#endif
|
||||
|
||||
/** Destructor. */
|
||||
~MidiMessageSequence();
|
||||
|
|
|
|||
|
|
@ -84,14 +84,12 @@ public:
|
|||
new (data.elements + i) ElementType (other.data.elements[i]);
|
||||
}
|
||||
|
||||
#if JUCE_COMPILER_SUPPORTS_MOVE_SEMANTICS
|
||||
Array (Array<ElementType, TypeOfCriticalSectionToUse>&& other) noexcept
|
||||
: data (static_cast<ArrayAllocationBase<ElementType, TypeOfCriticalSectionToUse>&&> (other.data)),
|
||||
numUsed (other.numUsed)
|
||||
{
|
||||
other.numUsed = 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
/** Initalises from a null-terminated C array of values.
|
||||
|
||||
|
|
@ -146,7 +144,6 @@ public:
|
|||
return *this;
|
||||
}
|
||||
|
||||
#if JUCE_COMPILER_SUPPORTS_MOVE_SEMANTICS
|
||||
Array& operator= (Array&& other) noexcept
|
||||
{
|
||||
const ScopedLockType lock (getLock());
|
||||
|
|
@ -156,7 +153,6 @@ public:
|
|||
other.numUsed = 0;
|
||||
return *this;
|
||||
}
|
||||
#endif
|
||||
|
||||
//==============================================================================
|
||||
/** Compares this array to another one.
|
||||
|
|
@ -403,7 +399,6 @@ public:
|
|||
new (data.elements + numUsed++) ElementType (newElement);
|
||||
}
|
||||
|
||||
#if JUCE_COMPILER_SUPPORTS_MOVE_SEMANTICS
|
||||
/** Appends a new element at the end of the array.
|
||||
|
||||
@param newElement the new object to add to the array
|
||||
|
|
@ -415,7 +410,6 @@ public:
|
|||
data.ensureAllocatedSize (numUsed + 1);
|
||||
new (data.elements + numUsed++) ElementType (static_cast<ElementType&&> (newElement));
|
||||
}
|
||||
#endif
|
||||
|
||||
/** Inserts a new element into the array at a given position.
|
||||
|
||||
|
|
|
|||
|
|
@ -60,7 +60,6 @@ public:
|
|||
{
|
||||
}
|
||||
|
||||
#if JUCE_COMPILER_SUPPORTS_MOVE_SEMANTICS
|
||||
ArrayAllocationBase (ArrayAllocationBase<ElementType, TypeOfCriticalSectionToUse>&& other) noexcept
|
||||
: elements (static_cast<HeapBlock<ElementType>&&> (other.elements)),
|
||||
numAllocated (other.numAllocated)
|
||||
|
|
@ -73,7 +72,6 @@ public:
|
|||
numAllocated = other.numAllocated;
|
||||
return *this;
|
||||
}
|
||||
#endif
|
||||
|
||||
//==============================================================================
|
||||
/** Changes the amount of storage allocated.
|
||||
|
|
|
|||
|
|
@ -83,7 +83,6 @@ public:
|
|||
return *this;
|
||||
}
|
||||
|
||||
#if JUCE_COMPILER_SUPPORTS_MOVE_SEMANTICS
|
||||
LinkedListPointer (LinkedListPointer&& other) noexcept
|
||||
: item (other.item)
|
||||
{
|
||||
|
|
@ -98,7 +97,6 @@ public:
|
|||
other.item = nullptr;
|
||||
return *this;
|
||||
}
|
||||
#endif
|
||||
|
||||
//==============================================================================
|
||||
/** Returns the item which this pointer points to. */
|
||||
|
|
|
|||
|
|
@ -45,7 +45,6 @@ NamedValueSet& NamedValueSet::operator= (const NamedValueSet& other)
|
|||
return *this;
|
||||
}
|
||||
|
||||
#if JUCE_COMPILER_SUPPORTS_MOVE_SEMANTICS
|
||||
NamedValueSet::NamedValueSet (NamedValueSet&& other) noexcept
|
||||
: values (static_cast<Array<NamedValue>&&> (other.values))
|
||||
{
|
||||
|
|
@ -56,7 +55,6 @@ NamedValueSet& NamedValueSet::operator= (NamedValueSet&& other) noexcept
|
|||
other.values.swapWith (values);
|
||||
return *this;
|
||||
}
|
||||
#endif
|
||||
|
||||
NamedValueSet::~NamedValueSet() noexcept
|
||||
{
|
||||
|
|
@ -122,7 +120,6 @@ var* NamedValueSet::getVarPointer (const Identifier& name) const noexcept
|
|||
return nullptr;
|
||||
}
|
||||
|
||||
#if JUCE_COMPILER_SUPPORTS_MOVE_SEMANTICS
|
||||
bool NamedValueSet::set (const Identifier& name, var&& newValue)
|
||||
{
|
||||
if (var* const v = getVarPointer (name))
|
||||
|
|
@ -137,7 +134,6 @@ bool NamedValueSet::set (const Identifier& name, var&& newValue)
|
|||
values.add (NamedValue (name, static_cast<var&&> (newValue)));
|
||||
return true;
|
||||
}
|
||||
#endif
|
||||
|
||||
bool NamedValueSet::set (const Identifier& name, const var& newValue)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -50,10 +50,11 @@ public:
|
|||
/** Replaces this set with a copy of another set. */
|
||||
NamedValueSet& operator= (const NamedValueSet&);
|
||||
|
||||
#if JUCE_COMPILER_SUPPORTS_MOVE_SEMANTICS
|
||||
/** Move constructor */
|
||||
NamedValueSet (NamedValueSet&&) noexcept;
|
||||
|
||||
/** Move assignment operator */
|
||||
NamedValueSet& operator= (NamedValueSet&&) noexcept;
|
||||
#endif
|
||||
|
||||
/** Destructor. */
|
||||
~NamedValueSet() noexcept;
|
||||
|
|
@ -68,7 +69,6 @@ public:
|
|||
NamedValue (const Identifier& n, const var& v) : name (n), value (v) {}
|
||||
NamedValue (const NamedValue& other) : name (other.name), value (other.value) {}
|
||||
|
||||
#if JUCE_COMPILER_SUPPORTS_MOVE_SEMANTICS
|
||||
NamedValue (NamedValue&& other) noexcept
|
||||
: name (static_cast<Identifier&&> (other.name)),
|
||||
value (static_cast<var&&> (other.value))
|
||||
|
|
@ -87,7 +87,6 @@ public:
|
|||
value = static_cast<var&&> (other.value);
|
||||
return *this;
|
||||
}
|
||||
#endif
|
||||
|
||||
bool operator== (const NamedValue& other) const noexcept { return name == other.name && value == other.value; }
|
||||
bool operator!= (const NamedValue& other) const noexcept { return ! operator== (other); }
|
||||
|
|
@ -124,13 +123,11 @@ public:
|
|||
*/
|
||||
bool set (const Identifier& name, const var& newValue);
|
||||
|
||||
#if JUCE_COMPILER_SUPPORTS_MOVE_SEMANTICS
|
||||
/** Changes or adds a named value.
|
||||
@returns true if a value was changed or added; false if the
|
||||
value was already set the value passed-in.
|
||||
*/
|
||||
bool set (const Identifier& name, var&& newValue);
|
||||
#endif
|
||||
|
||||
/** Returns true if the set contains an item with the specified name. */
|
||||
bool contains (const Identifier& name) const noexcept;
|
||||
|
|
|
|||
|
|
@ -74,7 +74,7 @@ public:
|
|||
deleteAllObjects();
|
||||
}
|
||||
|
||||
#if JUCE_COMPILER_SUPPORTS_MOVE_SEMANTICS
|
||||
/** Move constructor */
|
||||
OwnedArray (OwnedArray&& other) noexcept
|
||||
: data (static_cast<ArrayAllocationBase <ObjectClass*, TypeOfCriticalSectionToUse>&&> (other.data)),
|
||||
numUsed (other.numUsed)
|
||||
|
|
@ -82,6 +82,7 @@ public:
|
|||
other.numUsed = 0;
|
||||
}
|
||||
|
||||
/** Move assignment operator */
|
||||
OwnedArray& operator= (OwnedArray&& other) noexcept
|
||||
{
|
||||
const ScopedLockType lock (getLock());
|
||||
|
|
@ -92,7 +93,6 @@ public:
|
|||
other.numUsed = 0;
|
||||
return *this;
|
||||
}
|
||||
#endif
|
||||
|
||||
//==============================================================================
|
||||
/** Clears the array, optionally deleting the objects inside it first. */
|
||||
|
|
|
|||
|
|
@ -358,9 +358,7 @@ public:
|
|||
struct RefCountedArray : public ReferenceCountedObject
|
||||
{
|
||||
RefCountedArray (const Array<var>& a) : array (a) { incReferenceCount(); }
|
||||
#if JUCE_COMPILER_SUPPORTS_MOVE_SEMANTICS
|
||||
RefCountedArray (Array<var>&& a) : array (static_cast<Array<var>&&> (a)) { incReferenceCount(); }
|
||||
#endif
|
||||
Array<var> array;
|
||||
};
|
||||
};
|
||||
|
|
@ -527,7 +525,6 @@ var& var::operator= (const Array<var>& v) { var v2 (v); swapWith (v2); re
|
|||
var& var::operator= (ReferenceCountedObject* v) { var v2 (v); swapWith (v2); return *this; }
|
||||
var& var::operator= (NativeFunction v) { var v2 (v); swapWith (v2); return *this; }
|
||||
|
||||
#if JUCE_COMPILER_SUPPORTS_MOVE_SEMANTICS
|
||||
var::var (var&& other) noexcept
|
||||
: type (other.type),
|
||||
value (other.value)
|
||||
|
|
@ -563,7 +560,6 @@ var& var::operator= (String&& v)
|
|||
new (value.stringValue) String (static_cast<String&&> (v));
|
||||
return *this;
|
||||
}
|
||||
#endif
|
||||
|
||||
//==============================================================================
|
||||
bool var::equals (const var& other) const noexcept
|
||||
|
|
|
|||
|
|
@ -109,14 +109,12 @@ public:
|
|||
var& operator= (ReferenceCountedObject* object);
|
||||
var& operator= (NativeFunction method);
|
||||
|
||||
#if JUCE_COMPILER_SUPPORTS_MOVE_SEMANTICS
|
||||
var (var&&) noexcept;
|
||||
var (String&&);
|
||||
var (MemoryBlock&&);
|
||||
var (Array<var>&&);
|
||||
var& operator= (var&&) noexcept;
|
||||
var& operator= (String&&);
|
||||
#endif
|
||||
|
||||
void swapWith (var& other) noexcept;
|
||||
|
||||
|
|
|
|||
|
|
@ -57,7 +57,6 @@ File& File::operator= (const File& other)
|
|||
return *this;
|
||||
}
|
||||
|
||||
#if JUCE_COMPILER_SUPPORTS_MOVE_SEMANTICS
|
||||
File::File (File&& other) noexcept
|
||||
: fullPath (static_cast<String&&> (other.fullPath))
|
||||
{
|
||||
|
|
@ -68,7 +67,6 @@ File& File::operator= (File&& other) noexcept
|
|||
fullPath = static_cast<String&&> (other.fullPath);
|
||||
return *this;
|
||||
}
|
||||
#endif
|
||||
|
||||
#if JUCE_ALLOW_STATIC_NULL_VARIABLES
|
||||
const File File::nonexistent;
|
||||
|
|
|
|||
|
|
@ -90,10 +90,11 @@ public:
|
|||
/** Copies from another file object. */
|
||||
File& operator= (const File& otherFile);
|
||||
|
||||
#if JUCE_COMPILER_SUPPORTS_MOVE_SEMANTICS
|
||||
/** Move constructor */
|
||||
File (File&&) noexcept;
|
||||
|
||||
/** Move assignment operator */
|
||||
File& operator= (File&&) noexcept;
|
||||
#endif
|
||||
|
||||
//==============================================================================
|
||||
#if JUCE_ALLOW_STATIC_NULL_VARIABLES
|
||||
|
|
|
|||
|
|
@ -119,7 +119,6 @@ BigInteger::BigInteger (const BigInteger& other)
|
|||
memcpy (getValues(), other.getValues(), sizeof (uint32) * allocatedSize);
|
||||
}
|
||||
|
||||
#if JUCE_COMPILER_SUPPORTS_MOVE_SEMANTICS
|
||||
BigInteger::BigInteger (BigInteger&& other) noexcept
|
||||
: heapAllocation (static_cast<HeapBlock<uint32>&&> (other.heapAllocation)),
|
||||
allocatedSize (other.allocatedSize),
|
||||
|
|
@ -138,7 +137,6 @@ BigInteger& BigInteger::operator= (BigInteger&& other) noexcept
|
|||
negative = other.negative;
|
||||
return *this;
|
||||
}
|
||||
#endif
|
||||
|
||||
BigInteger::~BigInteger()
|
||||
{
|
||||
|
|
|
|||
|
|
@ -69,10 +69,11 @@ public:
|
|||
/** Creates a copy of another BigInteger. */
|
||||
BigInteger (const BigInteger&);
|
||||
|
||||
#if JUCE_COMPILER_SUPPORTS_MOVE_SEMANTICS
|
||||
/** Move constructor */
|
||||
BigInteger (BigInteger&&) noexcept;
|
||||
|
||||
/** Move assignment operator */
|
||||
BigInteger& operator= (BigInteger&&) noexcept;
|
||||
#endif
|
||||
|
||||
/** Destructor. */
|
||||
~BigInteger();
|
||||
|
|
|
|||
|
|
@ -958,7 +958,6 @@ Expression& Expression::operator= (const Expression& other)
|
|||
return *this;
|
||||
}
|
||||
|
||||
#if JUCE_COMPILER_SUPPORTS_MOVE_SEMANTICS
|
||||
Expression::Expression (Expression&& other) noexcept
|
||||
: term (static_cast<ReferenceCountedObjectPtr<Term>&&> (other.term))
|
||||
{
|
||||
|
|
@ -969,7 +968,6 @@ Expression& Expression::operator= (Expression&& other) noexcept
|
|||
term = static_cast<ReferenceCountedObjectPtr<Term>&&> (other.term);
|
||||
return *this;
|
||||
}
|
||||
#endif
|
||||
|
||||
Expression::Expression (const String& stringToParse, String& parseError)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -63,10 +63,11 @@ public:
|
|||
/** Copies another expression. */
|
||||
Expression& operator= (const Expression&);
|
||||
|
||||
#if JUCE_COMPILER_SUPPORTS_MOVE_SEMANTICS
|
||||
/** Move constructor */
|
||||
Expression (Expression&&) noexcept;
|
||||
|
||||
/** Move assignment operator */
|
||||
Expression& operator= (Expression&&) noexcept;
|
||||
#endif
|
||||
|
||||
/** Creates a simple expression with a specified constant value. */
|
||||
explicit Expression (double constant);
|
||||
|
|
|
|||
|
|
@ -64,8 +64,8 @@ public:
|
|||
/** Destructor. */
|
||||
inline ~Atomic() noexcept
|
||||
{
|
||||
// This class can only be used for types which are 32 or 64 bits in size.
|
||||
static_jassert (sizeof (Type) == 4 || sizeof (Type) == 8);
|
||||
static_assert (sizeof (Type) == 4 || sizeof (Type) == 8,
|
||||
"Atomic can only be used for types which are 32 or 64 bits in size");
|
||||
}
|
||||
|
||||
/** Atomically reads and returns the current value. */
|
||||
|
|
|
|||
|
|
@ -137,19 +137,19 @@ public:
|
|||
std::free (data);
|
||||
}
|
||||
|
||||
#if JUCE_COMPILER_SUPPORTS_MOVE_SEMANTICS
|
||||
/** Move constructor */
|
||||
HeapBlock (HeapBlock&& other) noexcept
|
||||
: data (other.data)
|
||||
{
|
||||
other.data = nullptr;
|
||||
}
|
||||
|
||||
/** Move assignment operator */
|
||||
HeapBlock& operator= (HeapBlock&& other) noexcept
|
||||
{
|
||||
std::swap (data, other.data);
|
||||
return *this;
|
||||
}
|
||||
#endif
|
||||
|
||||
//==============================================================================
|
||||
/** Returns a raw pointer to the allocated data.
|
||||
|
|
|
|||
|
|
@ -88,7 +88,6 @@ MemoryBlock& MemoryBlock::operator= (const MemoryBlock& other)
|
|||
return *this;
|
||||
}
|
||||
|
||||
#if JUCE_COMPILER_SUPPORTS_MOVE_SEMANTICS
|
||||
MemoryBlock::MemoryBlock (MemoryBlock&& other) noexcept
|
||||
: data (static_cast<HeapBlock<char>&&> (other.data)),
|
||||
size (other.size)
|
||||
|
|
@ -101,8 +100,6 @@ MemoryBlock& MemoryBlock::operator= (MemoryBlock&& other) noexcept
|
|||
size = other.size;
|
||||
return *this;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
//==============================================================================
|
||||
bool MemoryBlock::operator== (const MemoryBlock& other) const noexcept
|
||||
|
|
|
|||
|
|
@ -70,10 +70,11 @@ public:
|
|||
*/
|
||||
MemoryBlock& operator= (const MemoryBlock&);
|
||||
|
||||
#if JUCE_COMPILER_SUPPORTS_MOVE_SEMANTICS
|
||||
/** Move constructor */
|
||||
MemoryBlock (MemoryBlock&&) noexcept;
|
||||
|
||||
/** Move assignment operator */
|
||||
MemoryBlock& operator= (MemoryBlock&&) noexcept;
|
||||
#endif
|
||||
|
||||
//==============================================================================
|
||||
/** Compares two memory blocks.
|
||||
|
|
|
|||
|
|
@ -248,13 +248,11 @@ public:
|
|||
incIfNotNull (refCountedObject);
|
||||
}
|
||||
|
||||
#if JUCE_COMPILER_SUPPORTS_NULLPTR
|
||||
/** Creates a pointer to a null object. */
|
||||
ReferenceCountedObjectPtr (decltype (nullptr)) noexcept
|
||||
: referencedObject (nullptr)
|
||||
{
|
||||
}
|
||||
#endif
|
||||
|
||||
/** Copies another pointer.
|
||||
This will increment the object's reference-count.
|
||||
|
|
@ -312,7 +310,6 @@ public:
|
|||
return *this;
|
||||
}
|
||||
|
||||
#if JUCE_COMPILER_SUPPORTS_MOVE_SEMANTICS
|
||||
/** Takes-over the object from another pointer. */
|
||||
ReferenceCountedObjectPtr (ReferenceCountedObjectPtr&& other) noexcept
|
||||
: referencedObject (other.referencedObject)
|
||||
|
|
@ -326,7 +323,6 @@ public:
|
|||
std::swap (referencedObject, other.referencedObject);
|
||||
return *this;
|
||||
}
|
||||
#endif
|
||||
|
||||
/** Destructor.
|
||||
This will decrement the object's reference-count, which will cause the
|
||||
|
|
|
|||
|
|
@ -78,12 +78,10 @@ public:
|
|||
{
|
||||
}
|
||||
|
||||
#if JUCE_COMPILER_SUPPORTS_NULLPTR
|
||||
/** Creates a ScopedPointer containing a null pointer. */
|
||||
inline ScopedPointer (decltype (nullptr)) noexcept : object (nullptr)
|
||||
{
|
||||
}
|
||||
#endif
|
||||
|
||||
/** Creates a ScopedPointer that owns the specified object. */
|
||||
inline ScopedPointer (ObjectType* const objectToTakePossessionOf) noexcept
|
||||
|
|
@ -153,13 +151,14 @@ public:
|
|||
return *this;
|
||||
}
|
||||
|
||||
#if JUCE_COMPILER_SUPPORTS_MOVE_SEMANTICS
|
||||
/** Take ownership of another ScopedPointer */
|
||||
ScopedPointer (ScopedPointer&& other) noexcept
|
||||
: object (other.object)
|
||||
{
|
||||
other.object = nullptr;
|
||||
}
|
||||
|
||||
/** Take ownership of another ScopedPointer */
|
||||
ScopedPointer& operator= (ScopedPointer&& other) noexcept
|
||||
{
|
||||
ContainerDeletePolicy<ObjectType>::destroy (object);
|
||||
|
|
@ -167,7 +166,6 @@ public:
|
|||
other.object = nullptr;
|
||||
return *this;
|
||||
}
|
||||
#endif
|
||||
|
||||
//==============================================================================
|
||||
/** Returns the object that this ScopedPointer refers to. */
|
||||
|
|
@ -257,7 +255,8 @@ bool operator!= (const ScopedPointer<ObjectType>& pointer1, ObjectType* const po
|
|||
#ifndef DOXYGEN
|
||||
// NB: This is just here to prevent any silly attempts to call deleteAndZero() on a ScopedPointer.
|
||||
template <typename Type>
|
||||
void deleteAndZero (ScopedPointer<Type>&) { static_jassert (sizeof (Type) == 12345); }
|
||||
void deleteAndZero (ScopedPointer<Type>&) { static_assert (sizeof (Type) == 12345,
|
||||
"Attempt to call deleteAndZero() on a ScopedPointer"); }
|
||||
#endif
|
||||
|
||||
#endif // JUCE_SCOPEDPOINTER_H_INCLUDED
|
||||
|
|
|
|||
|
|
@ -93,16 +93,17 @@ public:
|
|||
/** Creates a copy of another WeakReference. */
|
||||
WeakReference (const WeakReference& other) noexcept : holder (other.holder) {}
|
||||
|
||||
/** Move constructor */
|
||||
WeakReference (WeakReference&& other) noexcept : holder (static_cast<SharedRef&&> (other.holder)) {}
|
||||
|
||||
/** Copies another pointer to this one. */
|
||||
WeakReference& operator= (const WeakReference& other) { holder = other.holder; return *this; }
|
||||
|
||||
/** Copies another pointer to this one. */
|
||||
WeakReference& operator= (ObjectType* const newObject) { holder = getRef (newObject); return *this; }
|
||||
|
||||
#if JUCE_COMPILER_SUPPORTS_MOVE_SEMANTICS
|
||||
WeakReference (WeakReference&& other) noexcept : holder (static_cast<SharedRef&&> (other.holder)) {}
|
||||
/** Move assignment operator */
|
||||
WeakReference& operator= (WeakReference&& other) noexcept { holder = static_cast<SharedRef&&> (other.holder); return *this; }
|
||||
#endif
|
||||
|
||||
/** Returns the object that this pointer refers to, or null if the object no longer exists. */
|
||||
ObjectType* get() const noexcept { return holder != nullptr ? holder->get() : nullptr; }
|
||||
|
|
|
|||
|
|
@ -46,7 +46,6 @@ Result& Result::operator= (const Result& other)
|
|||
return *this;
|
||||
}
|
||||
|
||||
#if JUCE_COMPILER_SUPPORTS_MOVE_SEMANTICS
|
||||
Result::Result (Result&& other) noexcept
|
||||
: errorMessage (static_cast<String&&> (other.errorMessage))
|
||||
{
|
||||
|
|
@ -57,7 +56,6 @@ Result& Result::operator= (Result&& other) noexcept
|
|||
errorMessage = static_cast<String&&> (other.errorMessage);
|
||||
return *this;
|
||||
}
|
||||
#endif
|
||||
|
||||
bool Result::operator== (const Result& other) const noexcept
|
||||
{
|
||||
|
|
|
|||
|
|
@ -101,11 +101,8 @@ public:
|
|||
//==============================================================================
|
||||
Result (const Result&);
|
||||
Result& operator= (const Result&);
|
||||
|
||||
#if JUCE_COMPILER_SUPPORTS_MOVE_SEMANTICS
|
||||
Result (Result&&) noexcept;
|
||||
Result& operator= (Result&&) noexcept;
|
||||
#endif
|
||||
|
||||
bool operator== (const Result& other) const noexcept;
|
||||
bool operator!= (const Result& other) const noexcept;
|
||||
|
|
|
|||
|
|
@ -42,7 +42,8 @@ namespace WindowsFileHelpers
|
|||
|
||||
int64 fileTimeToTime (const FILETIME* const ft)
|
||||
{
|
||||
static_jassert (sizeof (ULARGE_INTEGER) == sizeof (FILETIME)); // tell me if this fails!
|
||||
static_assert (sizeof (ULARGE_INTEGER) == sizeof (FILETIME),
|
||||
"ULARGE_INTEGER is too small to hold FILETIME: please report!");
|
||||
|
||||
return (int64) ((reinterpret_cast<const ULARGE_INTEGER*> (ft)->QuadPart - 116444736000000000LL) / 10000);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -41,7 +41,8 @@ void* getUser32Function (const char* functionName)
|
|||
CriticalSection::CriticalSection() noexcept
|
||||
{
|
||||
// (just to check the MS haven't changed this structure and broken things...)
|
||||
static_jassert (sizeof (CRITICAL_SECTION) <= sizeof (lock));
|
||||
static_assert (sizeof (CRITICAL_SECTION) <= sizeof (lock),
|
||||
"win32 lock array too small to hold CRITICAL_SECTION: please report this JUCE bug!");
|
||||
|
||||
InitializeCriticalSection ((CRITICAL_SECTION*) lock);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -134,8 +134,7 @@ int64 InputStream::readInt64BigEndian()
|
|||
|
||||
float InputStream::readFloat()
|
||||
{
|
||||
// the union below relies on these types being the same size...
|
||||
static_jassert (sizeof (int32) == sizeof (float));
|
||||
static_assert (sizeof (int32) == sizeof (float), "Union assumes float has the same size as an int32");
|
||||
union { int32 asInt; float asFloat; } n;
|
||||
n.asInt = (int32) readInt();
|
||||
return n.asFloat;
|
||||
|
|
|
|||
|
|
@ -40,11 +40,8 @@
|
|||
// GCC
|
||||
#if (__cplusplus >= 201103L || defined (__GXX_EXPERIMENTAL_CXX0X__)) && (__GNUC__ * 100 + __GNUC_MINOR__) >= 405
|
||||
#define JUCE_COMPILER_SUPPORTS_NOEXCEPT 1
|
||||
#define JUCE_COMPILER_SUPPORTS_NULLPTR 1
|
||||
#define JUCE_COMPILER_SUPPORTS_MOVE_SEMANTICS 1
|
||||
#define JUCE_COMPILER_SUPPORTS_INITIALIZER_LISTS 1
|
||||
#define JUCE_COMPILER_SUPPORTS_VARIADIC_TEMPLATES 1
|
||||
#define JUCE_COMPILER_SUPPORTS_STATIC_ASSERT 1
|
||||
|
||||
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && ! defined (JUCE_COMPILER_SUPPORTS_OVERRIDE_AND_FINAL)
|
||||
#define JUCE_COMPILER_SUPPORTS_OVERRIDE_AND_FINAL 1
|
||||
|
|
@ -68,18 +65,11 @@
|
|||
//==============================================================================
|
||||
// Clang
|
||||
#if JUCE_CLANG && defined (__has_feature)
|
||||
#if __has_feature (cxx_nullptr)
|
||||
#define JUCE_COMPILER_SUPPORTS_NULLPTR 1
|
||||
#endif
|
||||
|
||||
#if __has_feature (cxx_noexcept)
|
||||
#define JUCE_COMPILER_SUPPORTS_NOEXCEPT 1
|
||||
#endif
|
||||
|
||||
#if __has_feature (cxx_rvalue_references)
|
||||
#define JUCE_COMPILER_SUPPORTS_MOVE_SEMANTICS 1
|
||||
#endif
|
||||
|
||||
#if __has_feature (cxx_deleted_functions)
|
||||
#define JUCE_DELETED_FUNCTION = delete
|
||||
#endif
|
||||
|
|
@ -96,10 +86,6 @@
|
|||
#define JUCE_COMPILER_SUPPORTS_VARIADIC_TEMPLATES 1
|
||||
#endif
|
||||
|
||||
#if __has_feature (cxx_static_assert)
|
||||
#define JUCE_COMPILER_SUPPORTS_STATIC_ASSERT 1
|
||||
#endif
|
||||
|
||||
#if __has_feature (cxx_override_control) && (! defined (JUCE_COMPILER_SUPPORTS_OVERRIDE_AND_FINAL))
|
||||
#define JUCE_COMPILER_SUPPORTS_OVERRIDE_AND_FINAL 1
|
||||
#endif
|
||||
|
|
@ -119,11 +105,6 @@
|
|||
//==============================================================================
|
||||
// MSVC
|
||||
#ifdef _MSC_VER
|
||||
#if _MSC_VER >= 1600
|
||||
#define JUCE_COMPILER_SUPPORTS_NULLPTR 1
|
||||
#define JUCE_COMPILER_SUPPORTS_MOVE_SEMANTICS 1
|
||||
#define JUCE_COMPILER_SUPPORTS_STATIC_ASSERT 1
|
||||
#endif
|
||||
|
||||
#if _MSC_VER >= 1700
|
||||
#define JUCE_COMPILER_SUPPORTS_OVERRIDE_AND_FINAL 1
|
||||
|
|
@ -170,13 +151,6 @@
|
|||
#endif
|
||||
#endif
|
||||
|
||||
#if ! JUCE_COMPILER_SUPPORTS_NULLPTR
|
||||
#ifdef nullptr
|
||||
#undef nullptr
|
||||
#endif
|
||||
#define nullptr (0)
|
||||
#endif
|
||||
|
||||
#if ! JUCE_COMPILER_SUPPORTS_OVERRIDE_AND_FINAL
|
||||
#undef override
|
||||
#define override
|
||||
|
|
|
|||
|
|
@ -172,30 +172,6 @@
|
|||
#define JUCE_STRINGIFY(item) JUCE_STRINGIFY_MACRO_HELPER (item)
|
||||
|
||||
//==============================================================================
|
||||
#if JUCE_COMPILER_SUPPORTS_STATIC_ASSERT
|
||||
/** 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!)
|
||||
*/
|
||||
#define static_jassert(expression) static_assert(expression, #expression);
|
||||
#else
|
||||
#ifndef DOXYGEN
|
||||
namespace juce
|
||||
{
|
||||
template <bool b> struct JuceStaticAssert;
|
||||
template <> struct JuceStaticAssert<true> { static void dummy() {} };
|
||||
}
|
||||
#endif
|
||||
|
||||
/** 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!)
|
||||
*/
|
||||
#define static_jassert(expression) juce::JuceStaticAssert<expression>::dummy();
|
||||
#endif
|
||||
|
||||
/** This is a shorthand macro for declaring stubs for a class's copy constructor and operator=.
|
||||
|
||||
For example, instead of
|
||||
|
|
|
|||
|
|
@ -32,15 +32,15 @@ String SystemStats::getJUCEVersion()
|
|||
{
|
||||
// Some basic tests, to keep an eye on things and make sure these types work ok
|
||||
// on all platforms. Let me know if any of these assertions fail on your system!
|
||||
static_jassert (sizeof (pointer_sized_int) == sizeof (void*));
|
||||
static_jassert (sizeof (int8) == 1);
|
||||
static_jassert (sizeof (uint8) == 1);
|
||||
static_jassert (sizeof (int16) == 2);
|
||||
static_jassert (sizeof (uint16) == 2);
|
||||
static_jassert (sizeof (int32) == 4);
|
||||
static_jassert (sizeof (uint32) == 4);
|
||||
static_jassert (sizeof (int64) == 8);
|
||||
static_jassert (sizeof (uint64) == 8);
|
||||
static_assert (sizeof (pointer_sized_int) == sizeof (void*), "Basic sanity test failed: please report!");
|
||||
static_assert (sizeof (int8) == 1, "Basic sanity test failed: please report!");
|
||||
static_assert (sizeof (uint8) == 1, "Basic sanity test failed: please report!");
|
||||
static_assert (sizeof (int16) == 2, "Basic sanity test failed: please report!");
|
||||
static_assert (sizeof (uint16) == 2, "Basic sanity test failed: please report!");
|
||||
static_assert (sizeof (int32) == 4, "Basic sanity test failed: please report!");
|
||||
static_assert (sizeof (uint32) == 4, "Basic sanity test failed: please report!");
|
||||
static_assert (sizeof (int64) == 8, "Basic sanity test failed: please report!");
|
||||
static_assert (sizeof (uint64) == 8, "Basic sanity test failed: please report!");
|
||||
|
||||
return "JUCE v" JUCE_STRINGIFY(JUCE_MAJOR_VERSION)
|
||||
"." JUCE_STRINGIFY(JUCE_MINOR_VERSION)
|
||||
|
|
|
|||
|
|
@ -193,17 +193,21 @@
|
|||
|
||||
#ifdef __clang__
|
||||
#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__)
|
||||
#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)
|
||||
#define JUCE_MSVC 1
|
||||
|
||||
#if _MSC_VER < 1500
|
||||
#define JUCE_VC8_OR_EARLIER 1
|
||||
|
||||
#if _MSC_VER < 1400
|
||||
#error "Visual Studio 2003 and earlier are no longer supported!"
|
||||
#endif
|
||||
#if _MSC_VER < 1600
|
||||
#error "Visual Studio 2008 and earlier are no longer supported!"
|
||||
#endif
|
||||
#else
|
||||
#error unknown compiler
|
||||
|
|
|
|||
|
|
@ -33,7 +33,6 @@ Identifier::~Identifier() noexcept {}
|
|||
|
||||
Identifier::Identifier (const Identifier& other) noexcept : name (other.name) {}
|
||||
|
||||
#if JUCE_COMPILER_SUPPORTS_MOVE_SEMANTICS
|
||||
Identifier::Identifier (Identifier&& other) noexcept : name (static_cast<String&&> (other.name)) {}
|
||||
|
||||
Identifier& Identifier::operator= (Identifier&& other) noexcept
|
||||
|
|
@ -41,7 +40,6 @@ Identifier& Identifier::operator= (Identifier&& other) noexcept
|
|||
name = static_cast<String&&> (other.name);
|
||||
return *this;
|
||||
}
|
||||
#endif
|
||||
|
||||
Identifier& Identifier::operator= (const Identifier& other) noexcept
|
||||
{
|
||||
|
|
|
|||
|
|
@ -72,13 +72,11 @@ public:
|
|||
/** Creates a copy of another identifier. */
|
||||
Identifier& operator= (const Identifier& other) noexcept;
|
||||
|
||||
#if JUCE_COMPILER_SUPPORTS_MOVE_SEMANTICS
|
||||
/** Creates a copy of another identifier. */
|
||||
Identifier (Identifier&& other) noexcept;
|
||||
|
||||
/** Creates a copy of another identifier. */
|
||||
Identifier& operator= (Identifier&& other) noexcept;
|
||||
#endif
|
||||
|
||||
/** Destructor */
|
||||
~Identifier() noexcept;
|
||||
|
|
|
|||
|
|
@ -226,16 +226,17 @@ private:
|
|||
{
|
||||
// Let me know if any of these assertions fail on your system!
|
||||
#if JUCE_NATIVE_WCHAR_IS_UTF8
|
||||
static_jassert (sizeof (wchar_t) == 1);
|
||||
static_assert (sizeof (wchar_t) == 1, "JUCE_NATIVE_WCHAR_IS_* macro has incorrect value");
|
||||
#elif JUCE_NATIVE_WCHAR_IS_UTF16
|
||||
static_jassert (sizeof (wchar_t) == 2);
|
||||
static_assert (sizeof (wchar_t) == 2, "JUCE_NATIVE_WCHAR_IS_* macro has incorrect value");
|
||||
#elif JUCE_NATIVE_WCHAR_IS_UTF32
|
||||
static_jassert (sizeof (wchar_t) == 4);
|
||||
static_assert (sizeof (wchar_t) == 4, "JUCE_NATIVE_WCHAR_IS_* macro has incorrect value");
|
||||
#else
|
||||
#error "native wchar_t size is unknown"
|
||||
#endif
|
||||
|
||||
static_jassert (sizeof (EmptyString) == sizeof (StringHolder));
|
||||
static_assert (sizeof (EmptyString) == sizeof (StringHolder),
|
||||
"StringHolder is not large enough to hold an empty String");
|
||||
}
|
||||
};
|
||||
|
||||
|
|
@ -276,7 +277,6 @@ String& String::operator= (const String& other) noexcept
|
|||
return *this;
|
||||
}
|
||||
|
||||
#if JUCE_COMPILER_SUPPORTS_MOVE_SEMANTICS
|
||||
String::String (String&& other) noexcept : text (other.text)
|
||||
{
|
||||
other.text = &(emptyString.text);
|
||||
|
|
@ -287,7 +287,6 @@ String& String::operator= (String&& other) noexcept
|
|||
std::swap (text, other.text);
|
||||
return *this;
|
||||
}
|
||||
#endif
|
||||
|
||||
inline String::PreallocationBytes::PreallocationBytes (const size_t num) noexcept : numBytes (num) {}
|
||||
|
||||
|
|
|
|||
|
|
@ -54,9 +54,8 @@ public:
|
|||
/** Creates a copy of another string. */
|
||||
String (const String& other) noexcept;
|
||||
|
||||
#if JUCE_COMPILER_SUPPORTS_MOVE_SEMANTICS
|
||||
/** Move constructor */
|
||||
String (String&& other) noexcept;
|
||||
#endif
|
||||
|
||||
/** Creates a string from a zero-terminated ascii text string.
|
||||
|
||||
|
|
@ -200,9 +199,8 @@ public:
|
|||
/** Replaces this string's contents with another string. */
|
||||
String& operator= (const String& other) noexcept;
|
||||
|
||||
#if JUCE_COMPILER_SUPPORTS_MOVE_SEMANTICS
|
||||
/** Moves the contents of another string to the receiver */
|
||||
String& operator= (String&& other) noexcept;
|
||||
#endif
|
||||
|
||||
/** Appends another string at the end of this one. */
|
||||
String& operator+= (const String& stringToAppend);
|
||||
|
|
|
|||
|
|
@ -37,12 +37,10 @@ StringArray::StringArray (const StringArray& other)
|
|||
{
|
||||
}
|
||||
|
||||
#if JUCE_COMPILER_SUPPORTS_MOVE_SEMANTICS
|
||||
StringArray::StringArray (StringArray&& other) noexcept
|
||||
: strings (static_cast<Array <String>&&> (other.strings))
|
||||
{
|
||||
}
|
||||
#endif
|
||||
|
||||
StringArray::StringArray (const String& firstValue)
|
||||
{
|
||||
|
|
@ -80,13 +78,11 @@ StringArray& StringArray::operator= (const StringArray& other)
|
|||
return *this;
|
||||
}
|
||||
|
||||
#if JUCE_COMPILER_SUPPORTS_MOVE_SEMANTICS
|
||||
StringArray& StringArray::operator= (StringArray&& other) noexcept
|
||||
{
|
||||
strings = static_cast<Array<String>&&> (other.strings);
|
||||
return *this;
|
||||
}
|
||||
#endif
|
||||
|
||||
#if JUCE_COMPILER_SUPPORTS_INITIALIZER_LISTS
|
||||
StringArray::StringArray (const std::initializer_list<const char*>& stringList)
|
||||
|
|
@ -147,12 +143,10 @@ void StringArray::add (const String& newString)
|
|||
strings.add (newString);
|
||||
}
|
||||
|
||||
#if JUCE_COMPILER_SUPPORTS_MOVE_SEMANTICS
|
||||
void StringArray::add (String&& stringToAdd)
|
||||
{
|
||||
strings.add (static_cast<String&&> (stringToAdd));
|
||||
}
|
||||
#endif
|
||||
|
||||
void StringArray::insert (const int index, const String& newString)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -48,9 +48,8 @@ public:
|
|||
/** Creates a copy of another string array */
|
||||
StringArray (const StringArray&);
|
||||
|
||||
#if JUCE_COMPILER_SUPPORTS_MOVE_SEMANTICS
|
||||
/** Move constructor */
|
||||
StringArray (StringArray&&) noexcept;
|
||||
#endif
|
||||
|
||||
/** Creates an array containing a single string. */
|
||||
explicit StringArray (const String& firstValue);
|
||||
|
|
@ -98,9 +97,8 @@ public:
|
|||
/** Copies the contents of another string array into this one */
|
||||
StringArray& operator= (const StringArray&);
|
||||
|
||||
#if JUCE_COMPILER_SUPPORTS_MOVE_SEMANTICS
|
||||
/** Move assignment operator */
|
||||
StringArray& operator= (StringArray&&) noexcept;
|
||||
#endif
|
||||
|
||||
/** Swaps the contents of this and another StringArray. */
|
||||
void swapWith (StringArray&) noexcept;
|
||||
|
|
@ -177,10 +175,8 @@ public:
|
|||
/** Appends a string at the end of the array. */
|
||||
void add (const String& stringToAdd);
|
||||
|
||||
#if JUCE_COMPILER_SUPPORTS_MOVE_SEMANTICS
|
||||
/** Appends a string at the end of the array. */
|
||||
void add (String&& stringToAdd);
|
||||
#endif
|
||||
|
||||
/** Inserts a string into the array.
|
||||
|
||||
|
|
|
|||
|
|
@ -134,7 +134,6 @@ XmlElement& XmlElement::operator= (const XmlElement& other)
|
|||
return *this;
|
||||
}
|
||||
|
||||
#if JUCE_COMPILER_SUPPORTS_MOVE_SEMANTICS
|
||||
XmlElement::XmlElement (XmlElement&& other) noexcept
|
||||
: nextListItem (static_cast<LinkedListPointer<XmlElement>&&> (other.nextListItem)),
|
||||
firstChildElement (static_cast<LinkedListPointer<XmlElement>&&> (other.firstChildElement)),
|
||||
|
|
@ -157,7 +156,6 @@ XmlElement& XmlElement::operator= (XmlElement&& other) noexcept
|
|||
|
||||
return *this;
|
||||
}
|
||||
#endif
|
||||
|
||||
void XmlElement::copyChildrenAndAttributesFrom (const XmlElement& other)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -166,10 +166,11 @@ public:
|
|||
/** Creates a (deep) copy of another element. */
|
||||
XmlElement& operator= (const XmlElement&);
|
||||
|
||||
#if JUCE_COMPILER_SUPPORTS_MOVE_SEMANTICS
|
||||
XmlElement (XmlElement&&) noexcept;
|
||||
/** Move assignment operator */
|
||||
XmlElement& operator= (XmlElement&&) noexcept;
|
||||
#endif
|
||||
|
||||
/** Move constructor */
|
||||
XmlElement (XmlElement&&) noexcept;
|
||||
|
||||
/** Deleting an XmlElement will also delete all of its child elements. */
|
||||
~XmlElement() noexcept;
|
||||
|
|
|
|||
|
|
@ -111,7 +111,6 @@ Value::Value (const Value& other) : value (other.value)
|
|||
{
|
||||
}
|
||||
|
||||
#if JUCE_COMPILER_SUPPORTS_MOVE_SEMANTICS
|
||||
Value::Value (Value&& other) noexcept
|
||||
{
|
||||
// moving a Value with listeners will lose those listeners, which
|
||||
|
|
@ -132,7 +131,6 @@ Value& Value::operator= (Value&& other) noexcept
|
|||
value = static_cast<ReferenceCountedObjectPtr<ValueSource>&&> (other.value);
|
||||
return *this;
|
||||
}
|
||||
#endif
|
||||
|
||||
Value::~Value()
|
||||
{
|
||||
|
|
|
|||
|
|
@ -63,10 +63,8 @@ public:
|
|||
/** Creates a Value that is set to the specified value. */
|
||||
explicit Value (const var& initialValue);
|
||||
|
||||
#if JUCE_COMPILER_SUPPORTS_MOVE_SEMANTICS
|
||||
/** Move constructor */
|
||||
Value (Value&&) noexcept;
|
||||
Value& operator= (Value&&) noexcept;
|
||||
#endif
|
||||
|
||||
/** Destructor. */
|
||||
~Value();
|
||||
|
|
@ -101,6 +99,9 @@ public:
|
|||
*/
|
||||
Value& operator= (const var& newValue);
|
||||
|
||||
/** Move assignment operator */
|
||||
Value& operator= (Value&&) noexcept;
|
||||
|
||||
/** Makes this object refer to the same underlying ValueSource as another one.
|
||||
|
||||
Once this object has been connected to another one, changing either one
|
||||
|
|
|
|||
|
|
@ -702,12 +702,10 @@ ValueTree& ValueTree::operator= (const ValueTree& other)
|
|||
return *this;
|
||||
}
|
||||
|
||||
#if JUCE_COMPILER_SUPPORTS_MOVE_SEMANTICS
|
||||
ValueTree::ValueTree (ValueTree&& other) noexcept
|
||||
: object (static_cast<SharedObject::Ptr&&> (other.object))
|
||||
{
|
||||
}
|
||||
#endif
|
||||
|
||||
ValueTree::~ValueTree()
|
||||
{
|
||||
|
|
|
|||
|
|
@ -92,9 +92,8 @@ public:
|
|||
/** Makes this object reference another node. */
|
||||
ValueTree& operator= (const ValueTree&);
|
||||
|
||||
#if JUCE_COMPILER_SUPPORTS_MOVE_SEMANTICS
|
||||
/** Move constructor */
|
||||
ValueTree (ValueTree&&) noexcept;
|
||||
#endif
|
||||
|
||||
/** Destructor. */
|
||||
~ValueTree();
|
||||
|
|
|
|||
|
|
@ -63,7 +63,6 @@ FillType& FillType::operator= (const FillType& other)
|
|||
return *this;
|
||||
}
|
||||
|
||||
#if JUCE_COMPILER_SUPPORTS_MOVE_SEMANTICS
|
||||
FillType::FillType (FillType&& other) noexcept
|
||||
: colour (other.colour),
|
||||
gradient (other.gradient.release()),
|
||||
|
|
@ -82,7 +81,6 @@ FillType& FillType::operator= (FillType&& other) noexcept
|
|||
transform = other.transform;
|
||||
return *this;
|
||||
}
|
||||
#endif
|
||||
|
||||
FillType::~FillType() noexcept
|
||||
{
|
||||
|
|
|
|||
|
|
@ -64,10 +64,11 @@ public:
|
|||
/** Makes a copy of another FillType. */
|
||||
FillType& operator= (const FillType&);
|
||||
|
||||
#if JUCE_COMPILER_SUPPORTS_MOVE_SEMANTICS
|
||||
/** Move constructor */
|
||||
FillType (FillType&&) noexcept;
|
||||
|
||||
/** Move assignment operator */
|
||||
FillType& operator= (FillType&&) noexcept;
|
||||
#endif
|
||||
|
||||
/** Destructor. */
|
||||
~FillType() noexcept;
|
||||
|
|
|
|||
|
|
@ -136,7 +136,6 @@ namespace
|
|||
AttributedString::Attribute::Attribute() noexcept : colour (0xff000000) {}
|
||||
AttributedString::Attribute::~Attribute() noexcept {}
|
||||
|
||||
#if JUCE_COMPILER_SUPPORTS_MOVE_SEMANTICS
|
||||
AttributedString::Attribute::Attribute (Attribute&& other) noexcept
|
||||
: range (other.range),
|
||||
font (static_cast<Font&&> (other.font)),
|
||||
|
|
@ -151,7 +150,6 @@ AttributedString::Attribute& AttributedString::Attribute::operator= (Attribute&&
|
|||
colour = other.colour;
|
||||
return *this;
|
||||
}
|
||||
#endif
|
||||
|
||||
AttributedString::Attribute::Attribute (const Attribute& other) noexcept
|
||||
: range (other.range),
|
||||
|
|
@ -216,7 +214,6 @@ AttributedString& AttributedString::operator= (const AttributedString& other)
|
|||
return *this;
|
||||
}
|
||||
|
||||
#if JUCE_COMPILER_SUPPORTS_MOVE_SEMANTICS
|
||||
AttributedString::AttributedString (AttributedString&& other) noexcept
|
||||
: text (static_cast<String&&> (other.text)),
|
||||
lineSpacing (other.lineSpacing),
|
||||
|
|
@ -237,7 +234,6 @@ AttributedString& AttributedString::operator= (AttributedString&& other) noexcep
|
|||
attributes = static_cast<Array<Attribute>&&> (other.attributes);
|
||||
return *this;
|
||||
}
|
||||
#endif
|
||||
|
||||
AttributedString::~AttributedString() noexcept {}
|
||||
|
||||
|
|
|
|||
|
|
@ -47,10 +47,8 @@ public:
|
|||
|
||||
AttributedString (const AttributedString&);
|
||||
AttributedString& operator= (const AttributedString&);
|
||||
#if JUCE_COMPILER_SUPPORTS_MOVE_SEMANTICS
|
||||
AttributedString (AttributedString&&) noexcept;
|
||||
AttributedString& operator= (AttributedString&&) noexcept;
|
||||
#endif
|
||||
|
||||
/** Destructor. */
|
||||
~AttributedString() noexcept;
|
||||
|
|
@ -154,10 +152,8 @@ public:
|
|||
~Attribute() noexcept;
|
||||
Attribute (const Attribute&) noexcept;
|
||||
Attribute& operator= (const Attribute&) noexcept;
|
||||
#if JUCE_COMPILER_SUPPORTS_MOVE_SEMANTICS
|
||||
Attribute (Attribute&&) noexcept;
|
||||
Attribute& operator= (Attribute&&) noexcept;
|
||||
#endif
|
||||
|
||||
/** Creates an attribute that specifies the font and colour for a range of characters. */
|
||||
Attribute (Range<int> range, const Font& font, Colour colour) noexcept;
|
||||
|
|
|
|||
|
|
@ -277,7 +277,6 @@ Font& Font::operator= (const Font& other) noexcept
|
|||
return *this;
|
||||
}
|
||||
|
||||
#if JUCE_COMPILER_SUPPORTS_MOVE_SEMANTICS
|
||||
Font::Font (Font&& other) noexcept
|
||||
: font (static_cast<ReferenceCountedObjectPtr<SharedFontInternal>&&> (other.font))
|
||||
{
|
||||
|
|
@ -288,7 +287,6 @@ Font& Font::operator= (Font&& other) noexcept
|
|||
font = static_cast<ReferenceCountedObjectPtr<SharedFontInternal>&&> (other.font);
|
||||
return *this;
|
||||
}
|
||||
#endif
|
||||
|
||||
Font::~Font() noexcept
|
||||
{
|
||||
|
|
|
|||
|
|
@ -95,10 +95,11 @@ public:
|
|||
*/
|
||||
Font();
|
||||
|
||||
#if JUCE_COMPILER_SUPPORTS_MOVE_SEMANTICS
|
||||
/** Move constructor */
|
||||
Font (Font&& other) noexcept;
|
||||
|
||||
/** Move assignment operator */
|
||||
Font& operator= (Font&& other) noexcept;
|
||||
#endif
|
||||
|
||||
/** Copies this font from another one. */
|
||||
Font& operator= (const Font& other) noexcept;
|
||||
|
|
|
|||
|
|
@ -40,7 +40,6 @@ PositionedGlyph::PositionedGlyph (const PositionedGlyph& other)
|
|||
{
|
||||
}
|
||||
|
||||
#if JUCE_COMPILER_SUPPORTS_MOVE_SEMANTICS
|
||||
PositionedGlyph::PositionedGlyph (PositionedGlyph&& other) noexcept
|
||||
: font (static_cast<Font&&> (other.font)),
|
||||
character (other.character), glyph (other.glyph),
|
||||
|
|
@ -59,7 +58,6 @@ PositionedGlyph& PositionedGlyph::operator= (PositionedGlyph&& other) noexcept
|
|||
whitespace = other.whitespace;
|
||||
return *this;
|
||||
}
|
||||
#endif
|
||||
|
||||
PositionedGlyph::~PositionedGlyph() {}
|
||||
|
||||
|
|
|
|||
|
|
@ -47,10 +47,11 @@ public:
|
|||
PositionedGlyph (const PositionedGlyph&);
|
||||
PositionedGlyph& operator= (const PositionedGlyph&);
|
||||
|
||||
#if JUCE_COMPILER_SUPPORTS_MOVE_SEMANTICS
|
||||
/** Move constructor */
|
||||
PositionedGlyph (PositionedGlyph&&) noexcept;
|
||||
|
||||
/** Move assignment operator */
|
||||
PositionedGlyph& operator= (PositionedGlyph&&) noexcept;
|
||||
#endif
|
||||
|
||||
~PositionedGlyph();
|
||||
|
||||
|
|
|
|||
|
|
@ -153,7 +153,6 @@ TextLayout::TextLayout (const TextLayout& other)
|
|||
lines.addCopiesOf (other.lines);
|
||||
}
|
||||
|
||||
#if JUCE_COMPILER_SUPPORTS_MOVE_SEMANTICS
|
||||
TextLayout::TextLayout (TextLayout&& other) noexcept
|
||||
: lines (static_cast<OwnedArray<Line>&&> (other.lines)),
|
||||
width (other.width), height (other.height),
|
||||
|
|
@ -169,7 +168,6 @@ TextLayout& TextLayout::operator= (TextLayout&& other) noexcept
|
|||
justification = other.justification;
|
||||
return *this;
|
||||
}
|
||||
#endif
|
||||
|
||||
TextLayout& TextLayout::operator= (const TextLayout& other)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -45,10 +45,8 @@ public:
|
|||
TextLayout();
|
||||
TextLayout (const TextLayout&);
|
||||
TextLayout& operator= (const TextLayout&);
|
||||
#if JUCE_COMPILER_SUPPORTS_MOVE_SEMANTICS
|
||||
TextLayout (TextLayout&&) noexcept;
|
||||
TextLayout& operator= (TextLayout&&) noexcept;
|
||||
#endif
|
||||
|
||||
/** Destructor. */
|
||||
~TextLayout();
|
||||
|
|
|
|||
|
|
@ -157,7 +157,6 @@ Path& Path::operator= (const Path& other)
|
|||
return *this;
|
||||
}
|
||||
|
||||
#if JUCE_COMPILER_SUPPORTS_MOVE_SEMANTICS
|
||||
Path::Path (Path&& other) noexcept
|
||||
: data (static_cast<ArrayAllocationBase <float, DummyCriticalSection>&&> (other.data)),
|
||||
numElements (other.numElements),
|
||||
|
|
@ -174,7 +173,6 @@ Path& Path::operator= (Path&& other) noexcept
|
|||
useNonZeroWinding = other.useNonZeroWinding;
|
||||
return *this;
|
||||
}
|
||||
#endif
|
||||
|
||||
bool Path::operator== (const Path& other) const noexcept
|
||||
{
|
||||
|
|
|
|||
|
|
@ -75,10 +75,11 @@ public:
|
|||
/** Copies this path from another one. */
|
||||
Path& operator= (const Path&);
|
||||
|
||||
#if JUCE_COMPILER_SUPPORTS_MOVE_SEMANTICS
|
||||
/** Move constructor */
|
||||
Path (Path&&) noexcept;
|
||||
|
||||
/** Move assignment operator */
|
||||
Path& operator= (Path&&) noexcept;
|
||||
#endif
|
||||
|
||||
bool operator== (const Path&) const noexcept;
|
||||
bool operator!= (const Path&) const noexcept;
|
||||
|
|
|
|||
|
|
@ -64,18 +64,18 @@ public:
|
|||
return *this;
|
||||
}
|
||||
|
||||
#if JUCE_COMPILER_SUPPORTS_MOVE_SEMANTICS
|
||||
/** Move constructor */
|
||||
RectangleList (RectangleList&& other) noexcept
|
||||
: rects (static_cast<Array<RectangleType>&&> (other.rects))
|
||||
{
|
||||
}
|
||||
|
||||
/** Move assignment operator */
|
||||
RectangleList& operator= (RectangleList&& other) noexcept
|
||||
{
|
||||
rects = static_cast<Array<RectangleType>&&> (other.rects);
|
||||
return *this;
|
||||
}
|
||||
#endif
|
||||
|
||||
//==============================================================================
|
||||
/** Returns true if the region is empty. */
|
||||
|
|
|
|||
|
|
@ -242,7 +242,6 @@ Image& Image::operator= (const Image& other)
|
|||
return *this;
|
||||
}
|
||||
|
||||
#if JUCE_COMPILER_SUPPORTS_MOVE_SEMANTICS
|
||||
Image::Image (Image&& other) noexcept
|
||||
: image (static_cast<ImagePixelData::Ptr&&> (other.image))
|
||||
{
|
||||
|
|
@ -253,7 +252,6 @@ Image& Image::operator= (Image&& other) noexcept
|
|||
image = static_cast<ImagePixelData::Ptr&&> (other.image);
|
||||
return *this;
|
||||
}
|
||||
#endif
|
||||
|
||||
Image::~Image()
|
||||
{
|
||||
|
|
|
|||
|
|
@ -116,10 +116,11 @@ public:
|
|||
*/
|
||||
Image& operator= (const Image&);
|
||||
|
||||
#if JUCE_COMPILER_SUPPORTS_MOVE_SEMANTICS
|
||||
/** Move constructor */
|
||||
Image (Image&&) noexcept;
|
||||
|
||||
/** Move assignment operator */
|
||||
Image& operator= (Image&&) noexcept;
|
||||
#endif
|
||||
|
||||
/** Destructor. */
|
||||
~Image();
|
||||
|
|
|
|||
|
|
@ -73,7 +73,7 @@ namespace TTFNameExtractor
|
|||
for (int i = 0; i < numChars; ++i)
|
||||
buffer[i] = ByteOrder::swapIfLittleEndian (buffer[i]);
|
||||
|
||||
static_jassert (sizeof (CharPointer_UTF16::CharType) == sizeof (uint16));
|
||||
static_assert (sizeof (CharPointer_UTF16::CharType) == sizeof (uint16), "Sanity check UTF-16 type");
|
||||
result = CharPointer_UTF16 ((CharPointer_UTF16::CharType*) buffer.getData());
|
||||
}
|
||||
else
|
||||
|
|
|
|||
|
|
@ -471,7 +471,7 @@ Component::Component (const String& name) noexcept
|
|||
|
||||
Component::~Component()
|
||||
{
|
||||
static_jassert (sizeof (flags) <= sizeof (componentFlags));
|
||||
static_assert (sizeof (flags) <= sizeof (componentFlags), "componentFlags has too many bits!");
|
||||
|
||||
componentListeners.call (&ComponentListener::componentBeingDeleted, *this);
|
||||
|
||||
|
|
|
|||
|
|
@ -254,7 +254,7 @@ extern bool juce_areThereAnyAlwaysOnTopWindows();
|
|||
#include "misc/juce_DropShadower.cpp"
|
||||
|
||||
// these classes are C++11-only
|
||||
#if JUCE_COMPILER_SUPPORTS_MOVE_SEMANTICS && JUCE_COMPILER_SUPPORTS_INITIALIZER_LISTS && JUCE_COMPILER_SUPPORTS_LAMBDAS
|
||||
#if JUCE_COMPILER_SUPPORTS_INITIALIZER_LISTS && JUCE_COMPILER_SUPPORTS_LAMBDAS
|
||||
#include "layout/juce_FlexBox.cpp"
|
||||
#endif
|
||||
|
||||
|
|
|
|||
|
|
@ -283,7 +283,7 @@ class FlexBox;
|
|||
#include "lookandfeel/juce_LookAndFeel_V3.h"
|
||||
|
||||
// these classes are C++11-only
|
||||
#if JUCE_COMPILER_SUPPORTS_MOVE_SEMANTICS && JUCE_COMPILER_SUPPORTS_INITIALIZER_LISTS && JUCE_COMPILER_SUPPORTS_LAMBDAS
|
||||
#if JUCE_COMPILER_SUPPORTS_INITIALIZER_LISTS && JUCE_COMPILER_SUPPORTS_LAMBDAS
|
||||
#include "layout/juce_FlexItem.h"
|
||||
#include "layout/juce_FlexBox.h"
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -1251,7 +1251,6 @@ PopupMenu& PopupMenu::operator= (const PopupMenu& other)
|
|||
return *this;
|
||||
}
|
||||
|
||||
#if JUCE_COMPILER_SUPPORTS_MOVE_SEMANTICS
|
||||
PopupMenu::PopupMenu (PopupMenu&& other) noexcept
|
||||
: lookAndFeel (other.lookAndFeel)
|
||||
{
|
||||
|
|
@ -1266,7 +1265,6 @@ PopupMenu& PopupMenu::operator= (PopupMenu&& other) noexcept
|
|||
lookAndFeel = other.lookAndFeel;
|
||||
return *this;
|
||||
}
|
||||
#endif
|
||||
|
||||
PopupMenu::~PopupMenu()
|
||||
{
|
||||
|
|
|
|||
|
|
@ -96,10 +96,11 @@ public:
|
|||
/** Copies this menu from another one. */
|
||||
PopupMenu& operator= (const PopupMenu& other);
|
||||
|
||||
#if JUCE_COMPILER_SUPPORTS_MOVE_SEMANTICS
|
||||
/** Move constructor */
|
||||
PopupMenu (PopupMenu&& other) noexcept;
|
||||
|
||||
/** Move assignment operator */
|
||||
PopupMenu& operator= (PopupMenu&& other) noexcept;
|
||||
#endif
|
||||
|
||||
//==============================================================================
|
||||
/** Resets the menu, removing all its items. */
|
||||
|
|
|
|||
|
|
@ -171,7 +171,6 @@ MouseCursor& MouseCursor::operator= (const MouseCursor& other)
|
|||
return *this;
|
||||
}
|
||||
|
||||
#if JUCE_COMPILER_SUPPORTS_MOVE_SEMANTICS
|
||||
MouseCursor::MouseCursor (MouseCursor&& other) noexcept
|
||||
: cursorHandle (other.cursorHandle)
|
||||
{
|
||||
|
|
@ -183,7 +182,6 @@ MouseCursor& MouseCursor::operator= (MouseCursor&& other) noexcept
|
|||
std::swap (cursorHandle, other.cursorHandle);
|
||||
return *this;
|
||||
}
|
||||
#endif
|
||||
|
||||
bool MouseCursor::operator== (const MouseCursor& other) const noexcept
|
||||
{
|
||||
|
|
|
|||
|
|
@ -111,10 +111,11 @@ public:
|
|||
/** Destructor. */
|
||||
~MouseCursor();
|
||||
|
||||
#if JUCE_COMPILER_SUPPORTS_MOVE_SEMANTICS
|
||||
/** Move constructor */
|
||||
MouseCursor (MouseCursor&&) noexcept;
|
||||
|
||||
/** Move assignment operator */
|
||||
MouseCursor& operator= (MouseCursor&&) noexcept;
|
||||
#endif
|
||||
|
||||
/** Checks whether two mouse cursors are the same.
|
||||
|
||||
|
|
|
|||
|
|
@ -67,7 +67,6 @@ RelativeCoordinate& RelativeCoordinate::operator= (const RelativeCoordinate& oth
|
|||
return *this;
|
||||
}
|
||||
|
||||
#if JUCE_COMPILER_SUPPORTS_MOVE_SEMANTICS
|
||||
RelativeCoordinate::RelativeCoordinate (RelativeCoordinate&& other) noexcept
|
||||
: term (static_cast<Expression&&> (other.term))
|
||||
{
|
||||
|
|
@ -78,7 +77,6 @@ RelativeCoordinate& RelativeCoordinate::operator= (RelativeCoordinate&& other) n
|
|||
term = static_cast<Expression&&> (other.term);
|
||||
return *this;
|
||||
}
|
||||
#endif
|
||||
|
||||
RelativeCoordinate::RelativeCoordinate (const double absoluteDistanceFromOrigin)
|
||||
: term (absoluteDistanceFromOrigin)
|
||||
|
|
|
|||
|
|
@ -76,11 +76,8 @@ public:
|
|||
RelativeCoordinate (const Expression& expression);
|
||||
RelativeCoordinate (const RelativeCoordinate&);
|
||||
RelativeCoordinate& operator= (const RelativeCoordinate&);
|
||||
|
||||
#if JUCE_COMPILER_SUPPORTS_MOVE_SEMANTICS
|
||||
RelativeCoordinate (RelativeCoordinate&&) noexcept;
|
||||
RelativeCoordinate& operator= (RelativeCoordinate&&) noexcept;
|
||||
#endif
|
||||
|
||||
/** Creates an absolute position from the parent origin on either the X or Y axis.
|
||||
|
||||
|
|
|
|||
|
|
@ -1133,7 +1133,7 @@ struct StateHelpers
|
|||
|
||||
~ShaderQuadQueue() noexcept
|
||||
{
|
||||
static_jassert (sizeof (VertexInfo) == 8);
|
||||
static_assert (sizeof (VertexInfo) == 8, "Sanity check VertexInfo size");
|
||||
context.extensions.glBindBuffer (GL_ARRAY_BUFFER, 0);
|
||||
context.extensions.glBindBuffer (GL_ELEMENT_ARRAY_BUFFER, 0);
|
||||
context.extensions.glDeleteBuffers (2, buffers);
|
||||
|
|
|
|||
|
|
@ -216,17 +216,6 @@ public:
|
|||
assignment = copy;
|
||||
expect (assignment.getType() == OSCTypes::blob);
|
||||
expect (assignment.getBlob() == blob);
|
||||
|
||||
#if JUCE_COMPILER_SUPPORTS_MOVE_SEMANTICS
|
||||
OSCArgument move = std::move (arg);
|
||||
expect (move.getType() == OSCTypes::blob);
|
||||
expect (move.getBlob() == blob);
|
||||
|
||||
OSCArgument moveAssignment ("this will be overwritten!");
|
||||
moveAssignment = std::move (copy);
|
||||
expect (moveAssignment.getType() == OSCTypes::blob);
|
||||
expect (moveAssignment.getBlob() == blob);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -143,7 +143,7 @@ public:
|
|||
}
|
||||
|
||||
|
||||
#if JUCE_COMPILER_SUPPORTS_VARIADIC_TEMPLATES && JUCE_COMPILER_SUPPORTS_MOVE_SEMANTICS
|
||||
#if JUCE_COMPILER_SUPPORTS_VARIADIC_TEMPLATES
|
||||
beginTest ("Initialisation with argument list (C++11 only)");
|
||||
{
|
||||
int testInt = 42;
|
||||
|
|
|
|||
|
|
@ -52,7 +52,7 @@ public:
|
|||
OSCMessage (const OSCAddressPattern& ap) noexcept;
|
||||
|
||||
|
||||
#if JUCE_COMPILER_SUPPORTS_VARIADIC_TEMPLATES && JUCE_COMPILER_SUPPORTS_MOVE_SEMANTICS
|
||||
#if JUCE_COMPILER_SUPPORTS_VARIADIC_TEMPLATES
|
||||
/** Constructs an OSCMessage object with the given address pattern and list
|
||||
of arguments.
|
||||
|
||||
|
|
@ -142,7 +142,7 @@ public:
|
|||
private:
|
||||
|
||||
//==============================================================================
|
||||
#if JUCE_COMPILER_SUPPORTS_VARIADIC_TEMPLATES && JUCE_COMPILER_SUPPORTS_MOVE_SEMANTICS
|
||||
#if JUCE_COMPILER_SUPPORTS_VARIADIC_TEMPLATES
|
||||
template <typename Arg1, typename... Args>
|
||||
void addArguments (Arg1&& arg1, Args&&... args)
|
||||
{
|
||||
|
|
@ -160,7 +160,7 @@ private:
|
|||
|
||||
|
||||
//==============================================================================
|
||||
#if JUCE_COMPILER_SUPPORTS_VARIADIC_TEMPLATES && JUCE_COMPILER_SUPPORTS_MOVE_SEMANTICS
|
||||
#if JUCE_COMPILER_SUPPORTS_VARIADIC_TEMPLATES
|
||||
template <typename Arg1, typename... Args>
|
||||
OSCMessage::OSCMessage (const OSCAddressPattern& ap, Arg1&& arg1, Args&&... args)
|
||||
: addressPattern (ap)
|
||||
|
|
|
|||
|
|
@ -101,7 +101,7 @@ public:
|
|||
bool sendToIPAddress (const String& targetIPAddress, int targetPortNumber,
|
||||
const OSCBundle& bundle);
|
||||
|
||||
#if JUCE_COMPILER_SUPPORTS_VARIADIC_TEMPLATES && JUCE_COMPILER_SUPPORTS_MOVE_SEMANTICS
|
||||
#if JUCE_COMPILER_SUPPORTS_VARIADIC_TEMPLATES
|
||||
/** Creates a new OSC message with the specified address pattern and list
|
||||
of arguments, and sends it to the target.
|
||||
|
||||
|
|
@ -138,7 +138,7 @@ private:
|
|||
|
||||
|
||||
//==============================================================================
|
||||
#if JUCE_COMPILER_SUPPORTS_VARIADIC_TEMPLATES && JUCE_COMPILER_SUPPORTS_MOVE_SEMANTICS
|
||||
#if JUCE_COMPILER_SUPPORTS_VARIADIC_TEMPLATES
|
||||
template <typename... Args>
|
||||
bool OSCSender::send (const OSCAddressPattern& address, Args&&... args)
|
||||
{
|
||||
|
|
@ -151,6 +151,6 @@ private:
|
|||
{
|
||||
return sendToIPAddress (targetIPAddress, targetPortNumber, OSCMessage (address, std::forward<Args> (args)...));
|
||||
}
|
||||
#endif // JUCE_COMPILER_SUPPORTS_VARIADIC_TEMPLATES && JUCE_COMPILER_SUPPORTS_MOVE_SEMANTICS
|
||||
#endif // JUCE_COMPILER_SUPPORTS_VARIADIC_TEMPLATES
|
||||
|
||||
#endif // JUCE_OSCSENDER_H_INCLUDED
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue