26JUCE_BEGIN_IGNORE_WARNINGS_MSVC (4512)
52template <class ElementType, class TypeOfCriticalSectionToUse = DummyCriticalSection>
82 return data == other.data;
140 inline ElementType
operator[] (
const int index)
const noexcept
155 return data.getUnchecked (index);
168 return data.getReference (index);
175 inline const ElementType&
getReference (
const int index)
const noexcept
177 return data.getReference (index);
185 return data.getFirst();
193 return data.getLast();
280 auto&
elem = data.getReference (s);
333 template <
class OtherSetType>
391 template <
class OtherSetType>
394 const typename OtherSetType::ScopedLockType
lock1 (
otherSet.getLock());
403 for (
int i = data.size(); --i >= 0;)
404 if (
otherSet.contains (data.getReference (i)))
416 template <
class OtherSetType>
419 const typename OtherSetType::ScopedLockType
lock1 (
otherSet.getLock());
430 for (
int i = data.size(); --i >= 0;)
431 if (!
otherSet.contains (data.getReference (i)))
442 template <
class OtherSetType>
457 data.minimiseStorageOverheads();
487JUCE_END_IGNORE_WARNINGS_MSVC
int size() const noexcept
ElementType remove(const int indexToRemove) noexcept
bool isEmpty() const noexcept
int indexOf(const ElementType &elementToLookFor) const noexcept
void addSet(const OtherSetType &setToAddFrom, int startIndex=0, int numElementsToAdd=-1) noexcept
void addArray(const ElementType *elementsToAdd, int numElementsToAdd) noexcept
const ElementType & getReference(const int index) const noexcept
ElementType getFirst() const noexcept
void removeValuesIn(const OtherSetType &otherSet) noexcept
bool add(const ElementType &newElement) noexcept
void clearQuick() noexcept
ElementType getUnchecked(const int index) const noexcept
const TypeOfCriticalSectionToUse & getLock() const noexcept
SortedSet(SortedSet &&) noexcept=default
SortedSet(const SortedSet &)=default
void swapWith(OtherSetType &otherSet) noexcept
void minimiseStorageOverheads() noexcept
ElementType getLast() const noexcept
void ensureStorageAllocated(const int minNumElements)
ElementType & getReference(const int index) noexcept
const ElementType * end() const noexcept
void removeValue(const ElementType &valueToRemove) noexcept
bool contains(const ElementType &elementToLookFor) const noexcept
const ElementType * begin() const noexcept
void removeValuesNotIn(const OtherSetType &otherSet) noexcept
typename TypeOfCriticalSectionToUse::ScopedLockType ScopedLockType