31 : strings (
other.strings)
36 : strings (std::move (
other.strings))
41 : strings (std::move (
other))
88 strings = std::move (
other.strings);
98 return strings ==
other.strings;
123 if (isPositiveAndBelow (index, strings.size()))
132 return strings.getReference (index);
231 for (
int i =
size(); --i >= 0;)
237 for (
int i =
size(); --i >= 0;)
253 for (
int i =
size(); --i >= 0;)
259 for (
int i =
size(); --i >= 0;)
276 [] (
const String&
a,
const String&
b) { return a.compareIgnoreCase (b) < 0; });
284 [] (
const String&
a,
const String&
b) { return a.compareNatural (b) < 0; });
299 if (start == last - 1)
305 for (
int i = start; i < last; ++i)
318 dest.writeAll (s.getCharPointer());
339 for (
auto t = text.
text;;)
361 bool finished = text.
isEmpty();
369 switch (text.getAndAdvance())
371 case 0: finished =
true;
break;
373 case '\r':
if (*text ==
'\n') ++text;
break;
412 for (
int i = 0; i <
size() - 1; ++i)
416 for (
int nextIndex = i + 1;;)
418 nextIndex =
indexOf (s, ignoreCase, nextIndex);
439 for (
int i = 0; i <
size() - 1; ++i)
442 auto nextIndex =
indexOf (s, ignoreCase, i + 1);
454 while (nextIndex >= 0)
void swapWith(OtherArrayType &otherArray) noexcept
void addNullTerminatedArray(const Type *const *elementsToAdd)
bool isEmpty() const noexcept
void ensureStorageAllocated(int minNumElements)
void addArray(const Type *elementsToAdd, int numElementsToAdd)
int size() const noexcept
void removeRange(int startIndex, int numberToRemove)
void remove(int indexToRemove)
void insert(int indexToInsertAt, ParameterType newElement)
ElementType * begin() noexcept
ElementType * end() noexcept
void add(const ElementType &newElement)
void set(int indexToChange, ParameterType newValue)
void move(int currentIndex, int newIndex) noexcept
void minimiseStorageOverheads()
ElementType & getReference(int index) noexcept
static Type findEndOfToken(Type text, BreakType breakCharacters, Type quoteCharacters)
bool operator==(const StringArray &) const noexcept
String joinIntoString(StringRef separatorString, int startIndex=0, int numberOfElements=-1) const
void appendNumbersToDuplicates(bool ignoreCaseWhenComparing, bool appendNumberToFirstInstance, CharPointer_UTF8 preNumberString=CharPointer_UTF8(nullptr), CharPointer_UTF8 postNumberString=CharPointer_UTF8(nullptr))
String & getReference(int index) noexcept
void removeEmptyStrings(bool removeWhitespaceStrings=true)
void addArray(const StringArray &other, int startIndex=0, int numElementsToAdd=-1)
int indexOf(StringRef stringToLookFor, bool ignoreCase=false, int startIndex=0) const
bool contains(StringRef stringToLookFor, bool ignoreCase=false) const
void removeDuplicates(bool ignoreCase)
static StringArray fromTokens(StringRef stringToTokenise, bool preserveQuotedStrings)
void insert(int index, String stringToAdd)
static StringArray fromLines(StringRef stringToBreakUp)
void minimiseStorageOverheads()
const String & operator[](int index) const noexcept
void removeString(StringRef stringToRemove, bool ignoreCase=false)
void sort(bool ignoreCase)
void move(int currentIndex, int newIndex) noexcept
void swapWith(StringArray &) noexcept
int size() const noexcept
bool operator!=(const StringArray &) const noexcept
void add(String stringToAdd)
int addLines(StringRef stringToBreakUp)
void mergeArray(const StringArray &other, bool ignoreCase=false)
bool addIfNotAlreadyThere(const String &stringToAdd, bool ignoreCase=false)
void removeRange(int startIndex, int numberToRemove)
StringArray & operator=(const StringArray &)
void set(int index, String newString)
void ensureStorageAllocated(int minNumElements)
int addTokens(StringRef stringToTokenise, bool preserveQuotedStrings)
bool isNotEmpty() const noexcept
String::CharPointerType text
CharPointerType getCharPointer() const noexcept
void preallocateBytes(size_t numBytesNeeded)