JUCE
|
A basic object container. More...
Inherits TypeOfCriticalSectionToUse.
Public Member Functions | |
ArrayBase ()=default | |
~ArrayBase () | |
ArrayBase (ArrayBase &&other) noexcept | |
ArrayBase & | operator= (ArrayBase &&other) noexcept |
template<class OtherElementType , class OtherCriticalSection , typename = AllowConversion<OtherElementType, OtherCriticalSection>> | |
ArrayBase (ArrayBase< OtherElementType, OtherCriticalSection > &&other) noexcept | |
Converting move constructor. More... | |
template<class OtherElementType , class OtherCriticalSection , typename = AllowConversion<OtherElementType, OtherCriticalSection>> | |
ArrayBase & | operator= (ArrayBase< OtherElementType, OtherCriticalSection > &&other) noexcept |
Converting move assignment operator. More... | |
template<class OtherArrayType > | |
bool | operator== (const OtherArrayType &other) const noexcept |
template<class OtherArrayType > | |
bool | operator!= (const OtherArrayType &other) const noexcept |
ElementType & | operator[] (const int index) noexcept |
const ElementType & | operator[] (const int index) const noexcept |
ElementType | getValueWithDefault (const int index) const noexcept |
ElementType | getFirst () const noexcept |
ElementType | getLast () const noexcept |
ElementType * | begin () noexcept |
const ElementType * | begin () const noexcept |
ElementType * | end () noexcept |
const ElementType * | end () const noexcept |
ElementType * | data () noexcept |
const ElementType * | data () const noexcept |
int | size () const noexcept |
int | capacity () const noexcept |
void | setAllocatedSize (int numElements) |
void | ensureAllocatedSize (int minNumElements) |
void | shrinkToNoMoreThan (int maxNumElements) |
void | clear () |
void | swapWith (ArrayBase &other) noexcept |
void | add (const ElementType &newElement) |
void | add (ElementType &&newElement) |
template<typename... OtherElements> | |
void | add (const ElementType &firstNewElement, OtherElements... otherElements) |
template<typename... OtherElements> | |
void | add (ElementType &&firstNewElement, OtherElements... otherElements) |
template<typename Type > | |
void | addArray (const Type *elementsToAdd, int numElementsToAdd) |
template<typename TypeToCreateFrom > | |
void | addArray (const std::initializer_list< TypeToCreateFrom > &items) |
template<class OtherArrayType > | |
void | addArray (const OtherArrayType &arrayToAddFrom) |
template<class OtherArrayType > | |
std::enable_if<! std::is_pointer< OtherArrayType >::value, int >::type | addArray (const OtherArrayType &arrayToAddFrom, int startIndex, int numElementsToAdd=-1) |
void | insert (int indexToInsertAt, ParameterType newElement, int numberOfTimesToInsertIt) |
void | insertArray (int indexToInsertAt, const ElementType *newElements, int numberOfElements) |
void | removeElements (int indexToRemoveAt, int numElementsToRemove) |
void | swap (int index1, int index2) |
void | move (int currentIndex, int newIndex) noexcept |
A basic object container.
This class isn't really for public use - it's used by the other array classes, but might come in handy for some purposes.
It inherits from a critical section class to allow the arrays to use the "empty base class optimisation" pattern to reduce their footprint.
|
default |
ArrayBase< ElementType, TypeOfCriticalSectionToUse >::~ArrayBase | ( | ) |
|
noexcept |
|
noexcept |
Converting move constructor.
Only enabled when the other array has a different type to this one. If you see a compile error here, it's probably because you're attempting a conversion that HeapBlock won't allow.
|
noexcept |
|
noexcept |
Converting move assignment operator.
Only enabled when the other array has a different type to this one. If you see a compile error here, it's probably because you're attempting a conversion that HeapBlock won't allow.
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
Referenced by OwnedArray< MarkerList::Marker >::begin(), ReferenceCountedArray< AudioProcessorGraph::Node >::begin(), OwnedArray< MarkerList::Marker >::contains(), ReferenceCountedArray< AudioProcessorGraph::Node >::contains(), OwnedArray< MarkerList::Marker >::getRawDataPointer(), ReferenceCountedArray< AudioProcessorGraph::Node >::getRawDataPointer(), OwnedArray< MarkerList::Marker >::indexOf(), ReferenceCountedArray< AudioProcessorGraph::Node >::indexOf(), ArrayBase< ProgressBar *, DummyCriticalSection >::move(), ArrayBase< ProgressBar *, DummyCriticalSection >::operator==(), OwnedArray< MarkerList::Marker >::remove(), ReferenceCountedArray< AudioProcessorGraph::Node >::remove(), ReferenceCountedArray< AudioProcessorGraph::Node >::removeAndReturn(), OwnedArray< MarkerList::Marker >::removeRange(), and ReferenceCountedArray< AudioProcessorGraph::Node >::removeRange().
|
noexcept |
|
noexcept |
Referenced by ReferenceCountedArray< AudioProcessorGraph::Node >::addArray(), OwnedArray< MarkerList::Marker >::contains(), ReferenceCountedArray< AudioProcessorGraph::Node >::contains(), OwnedArray< MarkerList::Marker >::end(), ReferenceCountedArray< AudioProcessorGraph::Node >::end(), OwnedArray< MarkerList::Marker >::indexOf(), ReferenceCountedArray< AudioProcessorGraph::Node >::indexOf(), and ArrayBase< ProgressBar *, DummyCriticalSection >::move().
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
Referenced by OwnedArray< MarkerList::Marker >::addCopiesOf(), OwnedArray< MarkerList::Marker >::indexOfSorted(), ReferenceCountedArray< AudioProcessorGraph::Node >::indexOfSorted(), OwnedArray< MarkerList::Marker >::minimiseStorageOverheads(), ReferenceCountedArray< AudioProcessorGraph::Node >::minimiseStorageOverheads(), ArrayBase< ProgressBar *, DummyCriticalSection >::operator==(), OwnedArray< MarkerList::Marker >::remove(), ReferenceCountedArray< AudioProcessorGraph::Node >::remove(), OwnedArray< MarkerList::Marker >::removeAndReturn(), ReferenceCountedArray< AudioProcessorGraph::Node >::removeAndReturn(), OwnedArray< MarkerList::Marker >::removeLast(), ReferenceCountedArray< AudioProcessorGraph::Node >::removeLast(), OwnedArray< MarkerList::Marker >::removeObject(), OwnedArray< MarkerList::Marker >::removeRange(), ReferenceCountedArray< AudioProcessorGraph::Node >::removeRange(), OwnedArray< MarkerList::Marker >::set(), ReferenceCountedArray< AudioProcessorGraph::Node >::set(), OwnedArray< MarkerList::Marker >::size(), ReferenceCountedArray< AudioProcessorGraph::Node >::size(), and ReferenceCountedArray< AudioProcessorGraph::Node >::swap().
|
noexcept |
Referenced by OwnedArray< MarkerList::Marker >::remove(), ReferenceCountedArray< AudioProcessorGraph::Node >::remove(), OwnedArray< MarkerList::Marker >::removeAndReturn(), ReferenceCountedArray< AudioProcessorGraph::Node >::removeAndReturn(), OwnedArray< MarkerList::Marker >::removeRange(), and ReferenceCountedArray< AudioProcessorGraph::Node >::removeRange().
void ArrayBase< ElementType, TypeOfCriticalSectionToUse >::ensureAllocatedSize | ( | int | minNumElements | ) |
Referenced by ArrayBase< ProgressBar *, DummyCriticalSection >::add(), ArrayBase< ProgressBar *, DummyCriticalSection >::addArray(), OwnedArray< MarkerList::Marker >::addCopiesOf(), OwnedArray< MarkerList::Marker >::ensureStorageAllocated(), ReferenceCountedArray< AudioProcessorGraph::Node >::ensureStorageAllocated(), and ArrayBase< ProgressBar *, DummyCriticalSection >::move().
void ArrayBase< ElementType, TypeOfCriticalSectionToUse >::clear | ( | ) |
void ArrayBase< ElementType, TypeOfCriticalSectionToUse >::add | ( | const ElementType & | newElement | ) |
void ArrayBase< ElementType, TypeOfCriticalSectionToUse >::add | ( | ElementType && | newElement | ) |
void ArrayBase< ElementType, TypeOfCriticalSectionToUse >::add | ( | const ElementType & | firstNewElement, |
OtherElements... | otherElements | ||
) |
void ArrayBase< ElementType, TypeOfCriticalSectionToUse >::add | ( | ElementType && | firstNewElement, |
OtherElements... | otherElements | ||
) |
void ArrayBase< ElementType, TypeOfCriticalSectionToUse >::addArray | ( | const std::initializer_list< TypeToCreateFrom > & | items | ) |
void ArrayBase< ElementType, TypeOfCriticalSectionToUse >::addArray | ( | const OtherArrayType & | arrayToAddFrom | ) |
std::enable_if<! std::is_pointer<OtherArrayType>::value, int>::type ArrayBase< ElementType, TypeOfCriticalSectionToUse >::addArray | ( | const OtherArrayType & | arrayToAddFrom, |
int | startIndex, | ||
int | numElementsToAdd = -1 |
||
) |
void ArrayBase< ElementType, TypeOfCriticalSectionToUse >::insertArray | ( | int | indexToInsertAt, |
const ElementType * | newElements, | ||
int | numberOfElements | ||
) |
Referenced by OwnedArray< MarkerList::Marker >::insertArray().
void ArrayBase< ElementType, TypeOfCriticalSectionToUse >::removeElements | ( | int | indexToRemoveAt, |
int | numElementsToRemove | ||
) |
Referenced by OwnedArray< MarkerList::Marker >::remove(), ReferenceCountedArray< AudioProcessorGraph::Node >::remove(), OwnedArray< MarkerList::Marker >::removeAndReturn(), ReferenceCountedArray< AudioProcessorGraph::Node >::removeAndReturn(), OwnedArray< MarkerList::Marker >::removeRange(), and ReferenceCountedArray< AudioProcessorGraph::Node >::removeRange().
void ArrayBase< ElementType, TypeOfCriticalSectionToUse >::swap | ( | int | index1, |
int | index2 | ||
) |
Referenced by OwnedArray< MarkerList::Marker >::swap().