A container for holding a set of strings which are keyed by another string. More...
#include <juce_StringPairArray.h>
Public Member Functions | |
StringPairArray (bool ignoreCaseWhenComparingKeys=true) | |
Creates an empty array. More... | |
StringPairArray (const StringPairArray &other) | |
Creates a copy of another array. More... | |
~StringPairArray ()=default | |
Destructor. More... | |
void | addArray (const StringPairArray &other) |
Adds the items from another array to this one. More... | |
void | addMap (const std::map< String, String > &mapToAdd) |
Adds the contents of a map to this StringPairArray. More... | |
void | addUnorderedMap (const std::unordered_map< String, String > &mapToAdd) |
Adds the contents of an unordered map to this StringPairArray. More... | |
void | clear () |
Removes all elements from the array. More... | |
bool | containsKey (StringRef key) const noexcept |
Returns true if the given key exists. More... | |
const StringArray & | getAllKeys () const noexcept |
Returns a list of all keys in the array. More... | |
const StringArray & | getAllValues () const noexcept |
Returns a list of all values in the array. More... | |
String | getDescription () const |
Returns a descriptive string containing the items. More... | |
bool | getIgnoresCase () const noexcept |
Indicates whether a case-insensitive search is used when looking up a key string. More... | |
String | getValue (StringRef, const String &defaultReturnValue) const |
Finds the value corresponding to a key string. More... | |
void | minimiseStorageOverheads () |
Reduces the amount of storage being used by the array. More... | |
bool | operator!= (const StringPairArray &other) const |
Compares two arrays. More... | |
StringPairArray & | operator= (const StringPairArray &other) |
Copies the contents of another string array into this one. More... | |
bool | operator== (const StringPairArray &other) const |
Compares two arrays. More... | |
const String & | operator[] (StringRef key) const |
Finds the value corresponding to a key string. More... | |
void | remove (int index) |
Removes a string from the array based on its index. More... | |
void | remove (StringRef key) |
Removes a string from the array based on its key. More... | |
void | set (const String &key, const String &value) |
Adds or amends a key/value pair. More... | |
void | setIgnoresCase (bool shouldIgnoreCase) |
Indicates whether to use a case-insensitive search when looking up a key string. More... | |
int | size () const noexcept |
Returns the number of strings in the array. More... | |
Private Member Functions | |
template<typename Map > | |
void | addMapImpl (const Map &mapToAdd) |
Private Attributes | |
bool | ignoreCase |
StringArray | keys |
StringArray | values |
A container for holding a set of strings which are keyed by another string.
@tags{Core}
juce::StringPairArray::StringPairArray | ( | bool | ignoreCaseWhenComparingKeys = true | ) |
Creates an empty array.
juce::StringPairArray::StringPairArray | ( | const StringPairArray & | other | ) |
Creates a copy of another array.
|
default |
Destructor.
void juce::StringPairArray::addArray | ( | const StringPairArray & | other | ) |
Adds the items from another array to this one.
This is equivalent to using set() to add each of the pairs from the other array.
Adds the contents of a map to this StringPairArray.
|
private |
void juce::StringPairArray::addUnorderedMap | ( | const std::unordered_map< String, String > & | mapToAdd | ) |
Adds the contents of an unordered map to this StringPairArray.
void juce::StringPairArray::clear | ( | ) |
Removes all elements from the array.
Returns true if the given key exists.
|
inlinenoexcept |
Returns a list of all keys in the array.
|
inlinenoexcept |
Returns a list of all values in the array.
References juce::UnitTestCategories::values.
String juce::StringPairArray::getDescription | ( | ) | const |
Returns a descriptive string containing the items.
This is handy for dumping the contents of an array.
|
noexcept |
Indicates whether a case-insensitive search is used when looking up a key string.
Finds the value corresponding to a key string.
If no such key is found, this will just return the value provided as a default.
void juce::StringPairArray::minimiseStorageOverheads | ( | ) |
Reduces the amount of storage being used by the array.
Arrays typically allocate slightly more storage than they need, and after removing elements, they may have quite a lot of unused space allocated. This method will reduce the amount of allocated storage to a minimum.
bool juce::StringPairArray::operator!= | ( | const StringPairArray & | other | ) | const |
Compares two arrays.
Comparisons are case-sensitive.
StringPairArray& juce::StringPairArray::operator= | ( | const StringPairArray & | other | ) |
Copies the contents of another string array into this one.
bool juce::StringPairArray::operator== | ( | const StringPairArray & | other | ) | const |
Compares two arrays.
Comparisons are case-sensitive.
Finds the value corresponding to a key string.
If no such key is found, this will just return an empty string. To check whether a given key actually exists (because it might actually be paired with an empty string), use the getAllKeys() method to obtain a list.
Obviously the reference returned shouldn't be stored for later use, as the string it refers to may disappear when the array changes.
void juce::StringPairArray::remove | ( | int | index | ) |
Removes a string from the array based on its index.
If the index is out-of-range, no action will be taken.
void juce::StringPairArray::remove | ( | StringRef | key | ) |
Removes a string from the array based on its key.
If the key isn't found, nothing will happen.
Adds or amends a key/value pair.
If a value already exists with this key, its value will be overwritten, otherwise the key/value pair will be added to the array.
void juce::StringPairArray::setIgnoresCase | ( | bool | shouldIgnoreCase | ) |
Indicates whether to use a case-insensitive search when looking up a key string.
|
inlinenoexcept |
Returns the number of strings in the array.
|
private |
|
private |
|
private |