46 strings.addArray (initialStrings, numberOfStrings);
51 strings.addNullTerminatedArray (initialStrings);
56 strings.addArray (initialStrings, numberOfStrings);
71 return strings == other.strings;
81 strings.swapWith (other.strings);
97 return strings.getReference (index);
105 return strings.getReference (index);
110 return strings.add (newString);
115 return strings.insert (index, newString);
120 if (
contains (newString, ignoreCase))
123 return add (newString);
134 if (numElementsToAdd < 0 || startIndex + numElementsToAdd > otherArray.
size())
135 numElementsToAdd = otherArray.
size() - startIndex;
137 while (--numElementsToAdd >= 0)
143 for (
int i = 0;
i < otherArray.
size(); ++
i)
149 strings.set (index, newString);
154 return indexOf (stringToLookFor, ignoreCase) >= 0;
162 const int numElements =
size();
166 for (;
i < numElements; ++
i)
167 if (
strings.getReference(
i).equalsIgnoreCase (stringToLookFor))
172 for (;
i < numElements; ++
i)
173 if (stringToLookFor ==
strings.getReference (
i))
190 for (
int i =
size(); --
i >= 0;)
191 if (
strings.getReference(
i).equalsIgnoreCase (stringToRemove))
196 for (
int i =
size(); --
i >= 0;)
197 if (stringToRemove ==
strings.getReference (
i))
204 strings.removeRange (startIndex, numberToRemove);
210 if (removeWhitespaceStrings)
212 for (
int i =
size(); --
i >= 0;)
213 if (!
strings.getReference(
i).containsNonWhitespaceChars())
218 for (
int i =
size(); --
i >= 0;)
219 if (
strings.getReference(
i).isEmpty())
226 for (
int i =
size(); --
i >= 0;)
272 const int last = (numberToJoin < 0) ?
size()
281 if (
start == last - 1)
285 size_t bytesNeeded = separatorBytes * (size_t) (last -
start - 1);
291 result.preallocateBytes (bytesNeeded);
313 return addTokens (
text,
" \n\r\t", preserveQuotedStrings ?
"\"" :
"");
320 if (
text.isNotEmpty())
325 breakCharacters.
text,
326 quoteCharacters.
text));
352 switch (
text.getAndAdvance())
356 case '\r':
if (*
text ==
'\n') ++
text;
break;
372 s.addTokens (stringToTokenise, preserveQuotedStrings);
381 s.addTokens (stringToTokenise, breakCharacters, quoteCharacters);
388 s.addLines (stringToBreakUp);
395 for (
int i = 0;
i <
size() - 1; ++
i)
399 for (
int nextIndex =
i + 1;;)
401 nextIndex =
indexOf (
s, ignoreCase, nextIndex);
412 const bool appendNumberToFirstInstance,
419 preNumberString = defaultPre;
422 postNumberString = defaultPost;
424 for (
int i = 0;
i <
size() - 1; ++
i)
428 int nextIndex =
indexOf (
s, ignoreCase,
i + 1);
436 if (appendNumberToFirstInstance)
441 while (nextIndex >= 0)
443 set (nextIndex, (*
this)[nextIndex] +
String (preNumberString) +
String (++number) +
String (postNumberString));
444 nextIndex =
indexOf (original, ignoreCase, nextIndex + 1);
452 strings.ensureStorageAllocated (minNumElements);
457 strings.minimiseStorageOverheads();
#define noexcept
Definition DistrhoDefines.h:72
Definition CharPointer_UTF8.h:45
CharType * getAddress() const noexcept
Definition CharPointer_UTF8.h:80
size_t sizeInBytes() const noexcept
Definition CharPointer_UTF8.h:285
void writeNull() const noexcept
Definition CharPointer_UTF8.h:361
bool isEmpty() const noexcept
Definition CharPointer_UTF8.h:86
void writeAll(const CharPointer src) noexcept
Definition CharPointer_UTF8.h:368
char CharType
Definition CharPointer_UTF8.h:47
static Type findEndOfToken(Type text, const BreakType breakCharacters, const Type quoteCharacters)
Definition CharacterFunctions.h:589
void set(int index, const String &newString)
Definition StringArray.cpp:147
bool operator!=(const StringArray &) const noexcept
Definition StringArray.cpp:74
void clear()
Definition StringArray.cpp:84
bool add(const String &stringToAdd)
Definition StringArray.cpp:108
Array< String > strings
Definition StringArray.h:387
void trim()
Definition StringArray.cpp:224
int size() const noexcept
Definition StringArray.h:97
~StringArray()
Definition StringArray.cpp:65
bool contains(StringRef stringToLookFor, bool ignoreCase=false) const
Definition StringArray.cpp:152
bool insert(int index, const String &stringToAdd)
Definition StringArray.cpp:113
void sortNatural()
Definition StringArray.cpp:263
static StringArray fromTokens(StringRef stringToTokenise, bool preserveQuotedStrings)
Definition StringArray.cpp:369
String joinIntoString(StringRef separatorString, int startIndex=0, int numberOfElements=-1) const
Definition StringArray.cpp:270
int addTokens(StringRef stringToTokenise, bool preserveQuotedStrings)
Definition StringArray.cpp:311
bool addIfNotAlreadyThere(const String &stringToAdd, bool ignoreCase=false)
Definition StringArray.cpp:118
void minimiseStorageOverheads()
Definition StringArray.cpp:455
void sort(bool ignoreCase)
Definition StringArray.cpp:249
void removeDuplicates(bool ignoreCase)
Definition StringArray.cpp:393
bool operator==(const StringArray &) const noexcept
Definition StringArray.cpp:69
void clearQuick()
Definition StringArray.cpp:89
static StringArray fromLines(StringRef stringToBreakUp)
Definition StringArray.cpp:385
void ensureStorageAllocated(int minNumElements)
Definition StringArray.cpp:450
const String & operator[](int index) const noexcept
Definition StringArray.cpp:94
String & getReference(int index) noexcept
Definition StringArray.cpp:103
int addLines(StringRef stringToBreakUp)
Definition StringArray.cpp:340
StringArray & operator=(const StringArray &)
Definition StringArray.cpp:59
void remove(int index)
Definition StringArray.cpp:181
void removeEmptyStrings(bool removeWhitespaceStrings=true)
Definition StringArray.cpp:208
void mergeArray(const StringArray &other, bool ignoreCase=false)
Definition StringArray.cpp:141
void appendNumbersToDuplicates(bool ignoreCaseWhenComparing, bool appendNumberToFirstInstance, CharPointer_UTF8 preNumberString=CharPointer_UTF8(nullptr), CharPointer_UTF8 postNumberString=CharPointer_UTF8(nullptr))
Definition StringArray.cpp:411
void swapWith(StringArray &) noexcept
Definition StringArray.cpp:79
void removeRange(int startIndex, int numberToRemove)
Definition StringArray.cpp:202
StringArray() noexcept
Definition StringArray.cpp:30
void removeString(StringRef stringToRemove, bool ignoreCase=false)
Definition StringArray.cpp:186
int indexOf(StringRef stringToLookFor, bool ignoreCase=false, int startIndex=0) const
Definition StringArray.cpp:157
void addArray(const StringArray &other, int startIndex=0, int numElementsToAdd=-1)
Definition StringArray.cpp:126
Definition StringRef.h:67
CharPointer_UTF8 text
Definition StringRef.h:120
struct huft * t
Definition inflate.c:943
register unsigned i
Definition inflate.c:1575
unsigned s
Definition inflate.c:1555
virtual ASIOError start()=0
static int JUCE_CDECL comp(const void *a, const void *b)
Definition lsp.c:298
Definition AudioSampleBuffer.h:33
bool operator==(const ReferenceCountedObjectPtr< ReferenceCountedObjectClass > &object1, ReferenceCountedObjectClass *const object2) noexcept
Definition ReferenceCountedObject.h:359
Type jmin(const Type a, const Type b)
Definition MathsFunctions.h:60
bool isPositiveAndBelow(Type valueToTest, Type upperLimit) noexcept
Definition MathsFunctions.h:187
Definition StringArray.cpp:240
static int compareElements(String &s1, String &s2) noexcept
Definition StringArray.cpp:241
Definition StringArray.cpp:235
static int compareElements(String &s1, String &s2) noexcept
Definition StringArray.cpp:236
Definition StringArray.cpp:245
static int compareElements(String &s1, String &s2) noexcept
Definition StringArray.cpp:246
const char * text
Definition swell-functions.h:167
int result
Definition process.c:1455