|
- diff --git a/source/modules/water/buffers/AudioSampleBuffer.h b/source/modules/water/buffers/AudioSampleBuffer.h
- index 1716c5efd..8ae1e6388 100644
- --- a/source/modules/water/buffers/AudioSampleBuffer.h
- +++ b/source/modules/water/buffers/AudioSampleBuffer.h
- @@ -205,39 +205,6 @@ public:
- */
- ~AudioSampleBuffer() noexcept {}
-
- - #if WATER_COMPILER_SUPPORTS_MOVE_SEMANTICS
- - /** Move constructor */
- - AudioSampleBuffer (AudioSampleBuffer&& other) noexcept
- - : numChannels (other.numChannels),
- - size (other.size),
- - allocatedBytes (other.allocatedBytes),
- - channels (other.channels),
- - allocatedData (static_cast<HeapBlock<char>&&> (other.allocatedData)),
- - isClear (other.isClear)
- - {
- - std::memcpy (preallocatedChannelSpace, other.preallocatedChannelSpace, sizeof (preallocatedChannelSpace));
- - other.numChannels = 0;
- - other.size = 0;
- - other.allocatedBytes = 0;
- - }
- -
- - /** Move assignment */
- - AudioSampleBuffer& operator= (AudioSampleBuffer&& other) noexcept
- - {
- - numChannels = other.numChannels;
- - size = other.size;
- - allocatedBytes = other.allocatedBytes;
- - channels = other.channels;
- - allocatedData = static_cast<HeapBlock<char>&&> (other.allocatedData);
- - isClear = other.isClear;
- - memcpy (preallocatedChannelSpace, other.preallocatedChannelSpace, sizeof (preallocatedChannelSpace));
- - other.numChannels = 0;
- - other.size = 0;
- - other.allocatedBytes = 0;
- - return *this;
- - }
- - #endif
- -
- //==============================================================================
- /** Returns the number of channels of audio data that this buffer contains.
- @see getSampleData
- diff --git a/source/modules/water/containers/Array.h b/source/modules/water/containers/Array.h
- index a03857e55..e4367c9f2 100644
- --- a/source/modules/water/containers/Array.h
- +++ b/source/modules/water/containers/Array.h
- @@ -81,15 +81,6 @@ public:
- new (data.elements + i) ElementType (other.data.elements[i]);
- }
-
- - #if WATER_COMPILER_SUPPORTS_MOVE_SEMANTICS
- - Array (Array<ElementType>&& other) noexcept
- - : data (static_cast<ArrayAllocationBase<ElementType>&&> (other.data)),
- - numUsed (other.numUsed)
- - {
- - other.numUsed = 0;
- - }
- - #endif
- -
- /** Initalises from a null-terminated C array of values.
-
- @param values the array to copy from
- @@ -137,17 +128,6 @@ public:
- return *this;
- }
-
- - #if WATER_COMPILER_SUPPORTS_MOVE_SEMANTICS
- - Array& operator= (Array&& other) noexcept
- - {
- - deleteAllElements();
- - data = static_cast<ArrayAllocationBase<ElementType>&&> (other.data);
- - numUsed = other.numUsed;
- - other.numUsed = 0;
- - return *this;
- - }
- - #endif
- -
- //==============================================================================
- /** Compares this array to another one.
- Two arrays are considered equal if they both contain the same set of
- @@ -380,22 +360,6 @@ public:
- return true;
- }
-
- - #if WATER_COMPILER_SUPPORTS_MOVE_SEMANTICS
- - /** Appends a new element at the end of the array.
- -
- - @param newElement the new object to add to the array
- - @see set, insert, addIfNotAlreadyThere, addSorted, addUsingDefaultSort, addArray
- - */
- - bool add (ElementType&& newElement) noexcept
- - {
- - if (! data.ensureAllocatedSize (static_cast<size_t>(numUsed + 1)))
- - return false;
- -
- - new (data.elements + numUsed++) ElementType (static_cast<ElementType&&> (newElement));
- - return true;
- - }
- - #endif
- -
- /** Inserts a new element into the array at a given position.
-
- If the index is less than 0 or greater than the size of the array, the
- diff --git a/source/modules/water/containers/ArrayAllocationBase.h b/source/modules/water/containers/ArrayAllocationBase.h
- index f3049d8e5..878ad81fc 100644
- --- a/source/modules/water/containers/ArrayAllocationBase.h
- +++ b/source/modules/water/containers/ArrayAllocationBase.h
- @@ -44,29 +44,6 @@ namespace water {
- template <class ElementType>
- class ArrayAllocationBase
- {
- -#if WATER_COMPILER_SUPPORTS_MOVE_SEMANTICS
- -private:
- - #if defined(__GNUC__) && !defined(__clang__) && __GNUC__ < 5
- - template <typename T>
- - struct IsTriviallyCopyable : std::integral_constant<bool, false> {};
- - #else
- - template <typename T>
- - using IsTriviallyCopyable = std::is_trivially_copyable<T>;
- - #endif
- -
- - template <typename T>
- - using TriviallyCopyableVoid = typename std::enable_if<IsTriviallyCopyable<T>::value, void>::type;
- -
- - template <typename T>
- - using TriviallyCopyableBool = typename std::enable_if<IsTriviallyCopyable<T>::value, bool>::type;
- -
- - template <typename T>
- - using NonTriviallyCopyableVoid = typename std::enable_if<! IsTriviallyCopyable<T>::value, void>::type;
- -
- - template <typename T>
- - using NonTriviallyCopyableBool = typename std::enable_if<! IsTriviallyCopyable<T>::value, bool>::type;
- -#endif // WATER_COMPILER_SUPPORTS_MOVE_SEMANTICS
- -
- public:
- //==============================================================================
- /** Creates an empty array. */
- @@ -81,19 +58,6 @@ public:
- {
- }
-
- - #if WATER_COMPILER_SUPPORTS_MOVE_SEMANTICS
- - ArrayAllocationBase (ArrayAllocationBase<ElementType>&& other) noexcept
- - : elements (static_cast<HeapBlock<ElementType>&&> (other.elements)),
- - numAllocated (other.numAllocated) {}
- -
- - ArrayAllocationBase& operator= (ArrayAllocationBase<ElementType>&& other) noexcept
- - {
- - elements = static_cast<HeapBlock<ElementType>&&> (other.elements);
- - numAllocated = other.numAllocated;
- - return *this;
- - }
- - #endif
- -
- //==============================================================================
- /** Changes the amount of storage allocated.
-
- @@ -102,12 +66,7 @@ public:
-
- @param numNewElements the number of elements that are needed
- */
- - #if WATER_COMPILER_SUPPORTS_MOVE_SEMANTICS
- - template <typename T = ElementType> TriviallyCopyableBool<T>
- - #else
- - bool
- - #endif
- - setAllocatedSize (const size_t numNewElements) noexcept
- + bool setAllocatedSize (const size_t numNewElements) noexcept
- {
- if (numAllocated != numNewElements)
- {
- @@ -127,43 +86,6 @@ public:
- return true;
- }
-
- - #if WATER_COMPILER_SUPPORTS_MOVE_SEMANTICS
- - template <typename T = ElementType>
- - NonTriviallyCopyableBool<T> setAllocatedSize (const size_t numNewElements) noexcept
- - {
- - if (numAllocated == numNewElements)
- - return true;
- -
- - if (numNewElements > 0)
- - {
- - HeapBlock<ElementType> newElements;
- -
- - if (! newElements.malloc (numNewElements))
- - return false;
- -
- - size_t i = 0;
- -
- - for (; i < numAllocated && i < numNewElements; ++i)
- - {
- - new (newElements + i) ElementType (std::move (elements[i]));
- - elements[i].~ElementType();
- - }
- -
- - for (; i < numNewElements; ++i)
- - new (newElements + i) ElementType ();
- -
- - elements = std::move (newElements);
- - }
- - else
- - {
- - elements.free();
- - }
- -
- - numAllocated = numNewElements;
- - return true;
- - }
- - #endif
- -
- /** Increases the amount of storage allocated if it is less than a given amount.
-
- This will retain any data currently held in the array, but will add
- @@ -198,12 +120,7 @@ public:
- std::swap (numAllocated, other.numAllocated);
- }
-
- - #if WATER_COMPILER_SUPPORTS_MOVE_SEMANTICS
- - template <typename T = ElementType> TriviallyCopyableVoid<T>
- - #else
- - void
- - #endif
- - moveMemory (ElementType* target, const ElementType* source, const size_t numElements) noexcept
- + void moveMemory (ElementType* target, const ElementType* source, const size_t numElements) noexcept
- {
- CARLA_SAFE_ASSERT_RETURN(target != nullptr,);
- CARLA_SAFE_ASSERT_RETURN(source != nullptr,);
- @@ -213,42 +130,6 @@ public:
- std::memmove (target, source, ((size_t) numElements) * sizeof (ElementType));
- }
-
- - #if WATER_COMPILER_SUPPORTS_MOVE_SEMANTICS
- - template <typename T = ElementType>
- - NonTriviallyCopyableVoid<T> moveMemory (ElementType* target, const ElementType* source, const size_t numElements) noexcept
- - {
- - CARLA_SAFE_ASSERT_RETURN(target != nullptr,);
- - CARLA_SAFE_ASSERT_RETURN(source != nullptr,);
- - CARLA_SAFE_ASSERT_RETURN(target != source,);
- - CARLA_SAFE_ASSERT_RETURN(numElements != 0,);
- -
- - if (target > source)
- - {
- - for (size_t i = 0; i < numElements; ++i)
- - {
- - moveElement (target, std::move (*source));
- - ++target;
- - ++source;
- - }
- - }
- - else
- - {
- - for (size_t i = 0; i < numElements; ++i)
- - {
- - moveElement (target, std::move (*source));
- - --target;
- - --source;
- - }
- - }
- - }
- -
- - void moveElement (ElementType* destination, const ElementType&& source)
- - {
- - destination->~ElementType();
- - new (destination) ElementType (std::move (source));
- - }
- - #endif
- -
- //==============================================================================
- HeapBlock<ElementType> elements;
- size_t numAllocated;
- diff --git a/source/modules/water/containers/LinkedListPointer.h b/source/modules/water/containers/LinkedListPointer.h
- index c71d52d23..ed75fc268 100644
- --- a/source/modules/water/containers/LinkedListPointer.h
- +++ b/source/modules/water/containers/LinkedListPointer.h
- @@ -81,23 +81,6 @@ public:
- return *this;
- }
-
- - #if WATER_COMPILER_SUPPORTS_MOVE_SEMANTICS
- - LinkedListPointer (LinkedListPointer&& other) noexcept
- - : item (other.item)
- - {
- - other.item = nullptr;
- - }
- -
- - LinkedListPointer& operator= (LinkedListPointer&& other) noexcept
- - {
- - wassert (this != &other); // hopefully the compiler should make this situation impossible!
- -
- - item = other.item;
- - other.item = nullptr;
- - return *this;
- - }
- - #endif
- -
- //==============================================================================
- /** Returns the item which this pointer points to. */
- inline operator ObjectType*() const noexcept
- diff --git a/source/modules/water/containers/NamedValueSet.cpp b/source/modules/water/containers/NamedValueSet.cpp
- index 9302e1691..7543af158 100644
- --- a/source/modules/water/containers/NamedValueSet.cpp
- +++ b/source/modules/water/containers/NamedValueSet.cpp
- @@ -44,19 +44,6 @@ NamedValueSet& NamedValueSet::operator= (const NamedValueSet& other)
- return *this;
- }
-
- -#if WATER_COMPILER_SUPPORTS_MOVE_SEMANTICS
- -NamedValueSet::NamedValueSet (NamedValueSet&& other) noexcept
- - : values (static_cast<Array<NamedValue>&&> (other.values))
- -{
- -}
- -
- -NamedValueSet& NamedValueSet::operator= (NamedValueSet&& other) noexcept
- -{
- - other.values.swapWith (values);
- - return *this;
- -}
- -#endif
- -
- NamedValueSet::~NamedValueSet() noexcept
- {
- }
- @@ -117,23 +104,6 @@ var* NamedValueSet::getVarPointer (const Identifier& name) const noexcept
- return nullptr;
- }
-
- -#if WATER_COMPILER_SUPPORTS_MOVE_SEMANTICS
- -bool NamedValueSet::set (const Identifier& name, var&& newValue)
- -{
- - if (var* const v = getVarPointer (name))
- - {
- - if (v->equalsWithSameType (newValue))
- - return false;
- -
- - *v = static_cast<var&&> (newValue);
- - return true;
- - }
- -
- - values.add (NamedValue (name, static_cast<var&&> (newValue)));
- - return true;
- -}
- -#endif
- -
- bool NamedValueSet::set (const Identifier& name, const var& newValue)
- {
- if (var* const v = getVarPointer (name))
- diff --git a/source/modules/water/containers/NamedValueSet.h b/source/modules/water/containers/NamedValueSet.h
- index 7d0caa02e..ea4ef421d 100644
- --- a/source/modules/water/containers/NamedValueSet.h
- +++ b/source/modules/water/containers/NamedValueSet.h
- @@ -50,11 +50,6 @@ public:
- /** Replaces this set with a copy of another set. */
- NamedValueSet& operator= (const NamedValueSet&);
-
- - #if WATER_COMPILER_SUPPORTS_MOVE_SEMANTICS
- - NamedValueSet (NamedValueSet&&) noexcept;
- - NamedValueSet& operator= (NamedValueSet&&) noexcept;
- - #endif
- -
- /** Destructor. */
- ~NamedValueSet() noexcept;
-
- @@ -68,27 +63,6 @@ public:
- NamedValue (const Identifier& n, const var& v) : name (n), value (v) {}
- NamedValue (const NamedValue& other) : name (other.name), value (other.value) {}
-
- - #if WATER_COMPILER_SUPPORTS_MOVE_SEMANTICS
- - NamedValue (NamedValue&& other) noexcept
- - : name (static_cast<Identifier&&> (other.name)),
- - value (static_cast<var&&> (other.value))
- - {
- - }
- -
- - NamedValue (Identifier&& n, var&& v) noexcept
- - : name (static_cast<Identifier&&> (n)),
- - value (static_cast<var&&> (v))
- - {
- - }
- -
- - NamedValue& operator= (NamedValue&& other) noexcept
- - {
- - name = static_cast<Identifier&&> (other.name);
- - 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,14 +98,6 @@ public:
- */
- bool set (const Identifier& name, const var& newValue);
-
- - #if WATER_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;
-
- diff --git a/source/modules/water/containers/OwnedArray.h b/source/modules/water/containers/OwnedArray.h
- index 1a90100cd..ffa89203f 100644
- --- a/source/modules/water/containers/OwnedArray.h
- +++ b/source/modules/water/containers/OwnedArray.h
- @@ -73,25 +73,6 @@ public:
- deleteAllObjects();
- }
-
- - #if WATER_COMPILER_SUPPORTS_MOVE_SEMANTICS
- - OwnedArray (OwnedArray&& other) noexcept
- - : data (static_cast<ArrayAllocationBase <ObjectClass*>&&> (other.data)),
- - numUsed (other.numUsed)
- - {
- - other.numUsed = 0;
- - }
- -
- - OwnedArray& operator= (OwnedArray&& other) noexcept
- - {
- - deleteAllObjects();
- -
- - data = static_cast<ArrayAllocationBase <ObjectClass*>&&> (other.data);
- - numUsed = other.numUsed;
- - other.numUsed = 0;
- - return *this;
- - }
- - #endif
- -
- //==============================================================================
- /** Clears the array, optionally deleting the objects inside it first. */
- void clear (bool deleteObjects = true)
- diff --git a/source/modules/water/containers/Variant.cpp b/source/modules/water/containers/Variant.cpp
- index a93dba9fb..0472b10e3 100644
- --- a/source/modules/water/containers/Variant.cpp
- +++ b/source/modules/water/containers/Variant.cpp
- @@ -265,34 +265,6 @@ var& var::operator= (const double v) { type->cleanUp (value); type =
- var& var::operator= (const char* const v) { type->cleanUp (value); type = &VariantType_String::instance; new (value.stringValue) String (v); return *this; }
- var& var::operator= (const String& v) { type->cleanUp (value); type = &VariantType_String::instance; new (value.stringValue) String (v); return *this; }
-
- -#if WATER_COMPILER_SUPPORTS_MOVE_SEMANTICS
- -var::var (var&& other) noexcept
- - : type (other.type),
- - value (other.value)
- -{
- - other.type = &VariantType_Void::instance;
- -}
- -
- -var& var::operator= (var&& other) noexcept
- -{
- - swapWith (other);
- - return *this;
- -}
- -
- -var::var (String&& v) : type (&VariantType_String::instance)
- -{
- - new (value.stringValue) String (static_cast<String&&> (v));
- -}
- -
- -var& var::operator= (String&& v)
- -{
- - type->cleanUp (value);
- - type = &VariantType_String::instance;
- - new (value.stringValue) String (static_cast<String&&> (v));
- - return *this;
- -}
- -#endif
- -
- //==============================================================================
- bool var::equals (const var& other) const noexcept
- {
- diff --git a/source/modules/water/containers/Variant.h b/source/modules/water/containers/Variant.h
- index 0e181712a..c1472a733 100644
- --- a/source/modules/water/containers/Variant.h
- +++ b/source/modules/water/containers/Variant.h
- @@ -69,13 +69,6 @@ public:
- var& operator= (const char* value);
- var& operator= (const String& value);
-
- - #if WATER_COMPILER_SUPPORTS_MOVE_SEMANTICS
- - var (var&&) noexcept;
- - var (String&&);
- - var& operator= (var&&) noexcept;
- - var& operator= (String&&);
- - #endif
- -
- void swapWith (var& other) noexcept;
-
- /** Returns a var object that can be used where you need the javascript "undefined" value. */
- diff --git a/source/modules/water/files/File.cpp b/source/modules/water/files/File.cpp
- index 2ce0f6f8e..8c74854f0 100644
- --- a/source/modules/water/files/File.cpp
- +++ b/source/modules/water/files/File.cpp
- @@ -86,19 +86,6 @@ File& File::operator= (const File& other)
- return *this;
- }
-
- -#if WATER_COMPILER_SUPPORTS_MOVE_SEMANTICS
- -File::File (File&& other) noexcept
- - : fullPath (static_cast<String&&> (other.fullPath))
- -{
- -}
- -
- -File& File::operator= (File&& other) noexcept
- -{
- - fullPath = static_cast<String&&> (other.fullPath);
- - return *this;
- -}
- -#endif
- -
- bool File::isNull() const
- {
- return fullPath.isEmpty();
- diff --git a/source/modules/water/files/File.h b/source/modules/water/files/File.h
- index 1fa1a7c3e..2c8077963 100644
- --- a/source/modules/water/files/File.h
- +++ b/source/modules/water/files/File.h
- @@ -89,11 +89,6 @@ public:
- /** Copies from another file object. */
- File& operator= (const File& otherFile);
-
- - #if WATER_COMPILER_SUPPORTS_MOVE_SEMANTICS
- - File (File&&) noexcept;
- - File& operator= (File&&) noexcept;
- - #endif
- -
- //==============================================================================
- /** Checks whether the file actually exists.
-
- diff --git a/source/modules/water/memory/HeapBlock.h b/source/modules/water/memory/HeapBlock.h
- index b8c232e11..98656e872 100644
- --- a/source/modules/water/memory/HeapBlock.h
- +++ b/source/modules/water/memory/HeapBlock.h
- @@ -94,20 +94,6 @@ public:
- std::free (data);
- }
-
- - #if WATER_COMPILER_SUPPORTS_MOVE_SEMANTICS
- - HeapBlock (HeapBlock&& other) noexcept
- - : data (other.data)
- - {
- - other.data = nullptr;
- - }
- -
- - HeapBlock& operator= (HeapBlock&& other) noexcept
- - {
- - std::swap (data, other.data);
- - return *this;
- - }
- - #endif
- -
- //==============================================================================
- /** Returns a raw pointer to the allocated data.
- This may be a null pointer if the data hasn't yet been allocated, or if it has been
- diff --git a/source/modules/water/memory/MemoryBlock.cpp b/source/modules/water/memory/MemoryBlock.cpp
- index 6e83b8dfc..8b380da88 100644
- --- a/source/modules/water/memory/MemoryBlock.cpp
- +++ b/source/modules/water/memory/MemoryBlock.cpp
- @@ -87,22 +87,6 @@ MemoryBlock& MemoryBlock::operator= (const MemoryBlock& other)
- return *this;
- }
-
- -#if WATER_COMPILER_SUPPORTS_MOVE_SEMANTICS
- -MemoryBlock::MemoryBlock (MemoryBlock&& other) noexcept
- - : data (static_cast<HeapBlock<char>&&> (other.data)),
- - size (other.size)
- -{
- -}
- -
- -MemoryBlock& MemoryBlock::operator= (MemoryBlock&& other) noexcept
- -{
- - data = static_cast<HeapBlock<char>&&> (other.data);
- - size = other.size;
- - return *this;
- -}
- -#endif
- -
- -
- //==============================================================================
- bool MemoryBlock::operator== (const MemoryBlock& other) const noexcept
- {
- diff --git a/source/modules/water/memory/MemoryBlock.h b/source/modules/water/memory/MemoryBlock.h
- index 4383139d6..701120cfa 100644
- --- a/source/modules/water/memory/MemoryBlock.h
- +++ b/source/modules/water/memory/MemoryBlock.h
- @@ -68,11 +68,6 @@ public:
- */
- MemoryBlock& operator= (const MemoryBlock&);
-
- - #if WATER_COMPILER_SUPPORTS_MOVE_SEMANTICS
- - MemoryBlock (MemoryBlock&&) noexcept;
- - MemoryBlock& operator= (MemoryBlock&&) noexcept;
- - #endif
- -
- //==============================================================================
- /** Compares two memory blocks.
- @returns true only if the two blocks are the same size and have identical contents.
- diff --git a/source/modules/water/memory/ReferenceCountedObject.h b/source/modules/water/memory/ReferenceCountedObject.h
- index 4f5a256ee..b23ed914d 100644
- --- a/source/modules/water/memory/ReferenceCountedObject.h
- +++ b/source/modules/water/memory/ReferenceCountedObject.h
- @@ -301,22 +301,6 @@ public:
- return *this;
- }
-
- - #if WATER_COMPILER_SUPPORTS_MOVE_SEMANTICS
- - /** Takes-over the object from another pointer. */
- - ReferenceCountedObjectPtr (ReferenceCountedObjectPtr&& other) noexcept
- - : referencedObject (other.referencedObject)
- - {
- - other.referencedObject = nullptr;
- - }
- -
- - /** Takes-over the object from another pointer. */
- - ReferenceCountedObjectPtr& operator= (ReferenceCountedObjectPtr&& other)
- - {
- - std::swap (referencedObject, other.referencedObject);
- - return *this;
- - }
- - #endif
- -
- /** Destructor.
- This will decrement the object's reference-count, which will cause the
- object to be deleted when the ref-count hits zero.
- diff --git a/source/modules/water/midi/MidiMessage.cpp b/source/modules/water/midi/MidiMessage.cpp
- index 21c90f508..a4354222e 100644
- --- a/source/modules/water/midi/MidiMessage.cpp
- +++ b/source/modules/water/midi/MidiMessage.cpp
- @@ -286,24 +286,6 @@ MidiMessage& MidiMessage::operator= (const MidiMessage& other)
- return *this;
- }
-
- -#if WATER_COMPILER_SUPPORTS_MOVE_SEMANTICS
- -MidiMessage::MidiMessage (MidiMessage&& other) noexcept
- - : timeStamp (other.timeStamp), size (other.size)
- -{
- - packedData.allocatedData = other.packedData.allocatedData;
- - other.size = 0;
- -}
- -
- -MidiMessage& MidiMessage::operator= (MidiMessage&& other) noexcept
- -{
- - packedData.allocatedData = other.packedData.allocatedData;
- - timeStamp = other.timeStamp;
- - size = other.size;
- - other.size = 0;
- - return *this;
- -}
- -#endif
- -
- MidiMessage::~MidiMessage() noexcept
- {
- if (isHeapAllocated())
- diff --git a/source/modules/water/midi/MidiMessage.h b/source/modules/water/midi/MidiMessage.h
- index 07f15c467..6b78d55f8 100644
- --- a/source/modules/water/midi/MidiMessage.h
- +++ b/source/modules/water/midi/MidiMessage.h
- @@ -113,11 +113,6 @@ public:
- /** Copies this message from another one. */
- MidiMessage& operator= (const MidiMessage& other);
-
- - #if WATER_COMPILER_SUPPORTS_MOVE_SEMANTICS
- - MidiMessage (MidiMessage&&) noexcept;
- - MidiMessage& operator= (MidiMessage&&) noexcept;
- - #endif
- -
- //==============================================================================
- /** Returns a pointer to the raw midi data.
- @see getRawDataSize
- diff --git a/source/modules/water/midi/MidiMessageSequence.h b/source/modules/water/midi/MidiMessageSequence.h
- index f85f5fd05..bfe27d061 100644
- --- a/source/modules/water/midi/MidiMessageSequence.h
- +++ b/source/modules/water/midi/MidiMessageSequence.h
- @@ -55,18 +55,6 @@ public:
- /** Replaces this sequence with another one. */
- MidiMessageSequence& operator= (const MidiMessageSequence&);
-
- - #if WATER_COMPILER_SUPPORTS_MOVE_SEMANTICS
- - MidiMessageSequence (MidiMessageSequence&& other) noexcept
- - : list (static_cast<OwnedArray<MidiEventHolder>&&> (other.list))
- - {}
- -
- - MidiMessageSequence& operator= (MidiMessageSequence&& other) noexcept
- - {
- - list = static_cast<OwnedArray<MidiEventHolder>&&> (other.list);
- - return *this;
- - }
- - #endif
- -
- /** Destructor. */
- ~MidiMessageSequence();
-
- diff --git a/source/modules/water/misc/Result.cpp b/source/modules/water/misc/Result.cpp
- index b8706e771..49f1f85e1 100644
- --- a/source/modules/water/misc/Result.cpp
- +++ b/source/modules/water/misc/Result.cpp
- @@ -45,19 +45,6 @@ Result& Result::operator= (const Result& other)
- return *this;
- }
-
- -#if WATER_COMPILER_SUPPORTS_MOVE_SEMANTICS
- -Result::Result (Result&& other) noexcept
- - : errorMessage (static_cast<String&&> (other.errorMessage))
- -{
- -}
- -
- -Result& Result::operator= (Result&& other) noexcept
- -{
- - errorMessage = static_cast<String&&> (other.errorMessage);
- - return *this;
- -}
- -#endif
- -
- bool Result::operator== (const Result& other) const noexcept
- {
- return errorMessage == other.errorMessage;
- diff --git a/source/modules/water/misc/Result.h b/source/modules/water/misc/Result.h
- index ab4cf9bf1..495a19fc9 100644
- --- a/source/modules/water/misc/Result.h
- +++ b/source/modules/water/misc/Result.h
- @@ -100,11 +100,6 @@ public:
- Result (const Result&);
- Result& operator= (const Result&);
-
- - #if WATER_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;
-
- diff --git a/source/modules/water/text/Identifier.cpp b/source/modules/water/text/Identifier.cpp
- index e542d6eeb..3f1850369 100644
- --- a/source/modules/water/text/Identifier.cpp
- +++ b/source/modules/water/text/Identifier.cpp
- @@ -32,16 +32,6 @@ Identifier::~Identifier() noexcept {}
-
- Identifier::Identifier (const Identifier& other) noexcept : name (other.name) {}
-
- -#if WATER_COMPILER_SUPPORTS_MOVE_SEMANTICS
- -Identifier::Identifier (Identifier&& other) noexcept : name (static_cast<String&&> (other.name)) {}
- -
- -Identifier& Identifier::operator= (Identifier&& other) noexcept
- -{
- - name = static_cast<String&&> (other.name);
- - return *this;
- -}
- -#endif
- -
- Identifier& Identifier::operator= (const Identifier& other) noexcept
- {
- name = other.name;
- diff --git a/source/modules/water/text/Identifier.h b/source/modules/water/text/Identifier.h
- index a044b3a3a..ab768cd10 100644
- --- a/source/modules/water/text/Identifier.h
- +++ b/source/modules/water/text/Identifier.h
- @@ -70,14 +70,6 @@ public:
- /** Creates a copy of another identifier. */
- Identifier& operator= (const Identifier& other) noexcept;
-
- - #if WATER_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;
-
- diff --git a/source/modules/water/text/String.cpp b/source/modules/water/text/String.cpp
- index 51b20bc25..1dd593468 100644
- --- a/source/modules/water/text/String.cpp
- +++ b/source/modules/water/text/String.cpp
- @@ -247,19 +247,6 @@ String& String::operator= (const String& other) noexcept
- return *this;
- }
-
- -#if WATER_COMPILER_SUPPORTS_MOVE_SEMANTICS
- -String::String (String&& other) noexcept : text (other.text)
- -{
- - other.text = &(emptyString.text);
- -}
- -
- -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) {}
-
- String::String (const PreallocationBytes& preallocationSize)
- diff --git a/source/modules/water/text/String.h b/source/modules/water/text/String.h
- index 0a0ba99f1..ffa8ecf3b 100644
- --- a/source/modules/water/text/String.h
- +++ b/source/modules/water/text/String.h
- @@ -56,10 +56,6 @@ public:
- /** Creates a copy of another string. */
- String (const String& other) noexcept;
-
- - #if WATER_COMPILER_SUPPORTS_MOVE_SEMANTICS
- - String (String&& other) noexcept;
- - #endif
- -
- /** Creates a string from a zero-terminated ascii text string.
-
- The string passed-in must not contain any characters with a value above 127, because
- @@ -139,10 +135,6 @@ public:
- /** Replaces this string's contents with another string. */
- String& operator= (const String& other) noexcept;
-
- - #if WATER_COMPILER_SUPPORTS_MOVE_SEMANTICS
- - String& operator= (String&& other) noexcept;
- - #endif
- -
- /** Appends another string at the end of this one. */
- String& operator+= (const String& stringToAppend);
- /** Appends another string at the end of this one. */
- diff --git a/source/modules/water/text/StringArray.cpp b/source/modules/water/text/StringArray.cpp
- index c0fddb5db..36856f4a7 100644
- --- a/source/modules/water/text/StringArray.cpp
- +++ b/source/modules/water/text/StringArray.cpp
- @@ -36,13 +36,6 @@ StringArray::StringArray (const StringArray& other)
- {
- }
-
- -#if WATER_COMPILER_SUPPORTS_MOVE_SEMANTICS
- -StringArray::StringArray (StringArray&& other) noexcept
- - : strings (static_cast<Array <String>&&> (other.strings))
- -{
- -}
- -#endif
- -
- StringArray::StringArray (const String& firstValue)
- {
- strings.add (firstValue);
- @@ -69,14 +62,6 @@ StringArray& StringArray::operator= (const StringArray& other)
- return *this;
- }
-
- -#if WATER_COMPILER_SUPPORTS_MOVE_SEMANTICS
- -StringArray& StringArray::operator= (StringArray&& other) noexcept
- -{
- - strings = static_cast<Array<String>&&> (other.strings);
- - return *this;
- -}
- -#endif
- -
- StringArray::~StringArray()
- {
- }
- @@ -125,13 +110,6 @@ bool StringArray::add (const String& newString)
- return strings.add (newString);
- }
-
- -#if WATER_COMPILER_SUPPORTS_MOVE_SEMANTICS
- -bool StringArray::add (String&& stringToAdd)
- -{
- - return strings.add (static_cast<String&&> (stringToAdd));
- -}
- -#endif
- -
- bool StringArray::insert (const int index, const String& newString)
- {
- return strings.insert (index, newString);
- diff --git a/source/modules/water/text/StringArray.h b/source/modules/water/text/StringArray.h
- index 57ed5d300..d7244a066 100644
- --- a/source/modules/water/text/StringArray.h
- +++ b/source/modules/water/text/StringArray.h
- @@ -47,10 +47,6 @@ public:
- /** Creates a copy of another string array */
- StringArray (const StringArray&);
-
- - #if WATER_COMPILER_SUPPORTS_MOVE_SEMANTICS
- - StringArray (StringArray&&) noexcept;
- - #endif
- -
- /** Creates an array containing a single string. */
- explicit StringArray (const String& firstValue);
-
- @@ -80,10 +76,6 @@ public:
- /** Copies the contents of another string array into this one */
- StringArray& operator= (const StringArray&);
-
- - #if WATER_COMPILER_SUPPORTS_MOVE_SEMANTICS
- - StringArray& operator= (StringArray&&) noexcept;
- - #endif
- -
- /** Swaps the contents of this and another StringArray. */
- void swapWith (StringArray&) noexcept;
-
- @@ -159,11 +151,6 @@ public:
- /** Appends a string at the end of the array. */
- bool add (const String& stringToAdd);
-
- - #if WATER_COMPILER_SUPPORTS_MOVE_SEMANTICS
- - /** Appends a string at the end of the array. */
- - bool add (String&& stringToAdd);
- - #endif
- -
- /** Inserts a string into the array.
-
- This will insert a string into the array at the given index, moving
- diff --git a/source/modules/water/water.h b/source/modules/water/water.h
- index 33b908c27..d8305a0ee 100644
- --- a/source/modules/water/water.h
- +++ b/source/modules/water/water.h
- @@ -32,18 +32,12 @@
- // Compiler support
-
- #if (__cplusplus >= 201103L || defined (__GXX_EXPERIMENTAL_CXX0X__)) && (__GNUC__ * 100 + __GNUC_MINOR__) >= 405
- - #define WATER_COMPILER_SUPPORTS_MOVE_SEMANTICS 1
- -
- #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && ! defined (WATER_DELETED_FUNCTION)
- #define WATER_DELETED_FUNCTION = delete
- #endif
- #endif
-
- #ifdef __clang__
- - #if __has_feature (cxx_implicit_moves) && __clang_major__ >= 9
- - #define WATER_COMPILER_SUPPORTS_MOVE_SEMANTICS 1
- - #endif
- -
- #if __has_feature (cxx_deleted_functions)
- #define WATER_DELETED_FUNCTION = delete
- #endif
- diff --git a/source/modules/water/xml/XmlElement.cpp b/source/modules/water/xml/XmlElement.cpp
- index 2de0fa34e..92bfecc7e 100644
- --- a/source/modules/water/xml/XmlElement.cpp
- +++ b/source/modules/water/xml/XmlElement.cpp
- @@ -133,31 +133,6 @@ XmlElement& XmlElement::operator= (const XmlElement& other)
- return *this;
- }
-
- -#if WATER_COMPILER_SUPPORTS_MOVE_SEMANTICS
- -XmlElement::XmlElement (XmlElement&& other) noexcept
- - : nextListItem (static_cast<LinkedListPointer<XmlElement>&&> (other.nextListItem)),
- - firstChildElement (static_cast<LinkedListPointer<XmlElement>&&> (other.firstChildElement)),
- - attributes (static_cast<LinkedListPointer<XmlAttributeNode>&&> (other.attributes)),
- - tagName (static_cast<String&&> (other.tagName))
- -{
- -}
- -
- -XmlElement& XmlElement::operator= (XmlElement&& other) noexcept
- -{
- - wassert (this != &other); // hopefully the compiler should make this situation impossible!
- -
- - removeAllAttributes();
- - deleteAllChildElements();
- -
- - nextListItem = static_cast<LinkedListPointer<XmlElement>&&> (other.nextListItem);
- - firstChildElement = static_cast<LinkedListPointer<XmlElement>&&> (other.firstChildElement);
- - attributes = static_cast<LinkedListPointer<XmlAttributeNode>&&> (other.attributes);
- - tagName = static_cast<String&&> (other.tagName);
- -
- - return *this;
- -}
- -#endif
- -
- void XmlElement::copyChildrenAndAttributesFrom (const XmlElement& other)
- {
- wassert (firstChildElement.get() == nullptr);
- diff --git a/source/modules/water/xml/XmlElement.h b/source/modules/water/xml/XmlElement.h
- index d27b7d98d..273d28e4c 100644
- --- a/source/modules/water/xml/XmlElement.h
- +++ b/source/modules/water/xml/XmlElement.h
- @@ -166,11 +166,6 @@ public:
- /** Creates a (deep) copy of another element. */
- XmlElement& operator= (const XmlElement&);
-
- - #if WATER_COMPILER_SUPPORTS_MOVE_SEMANTICS
- - XmlElement (XmlElement&&) noexcept;
- - XmlElement& operator= (XmlElement&&) noexcept;
- - #endif
- -
- /** Deleting an XmlElement will also delete all of its child elements. */
- ~XmlElement() noexcept;
-
|