JUCE
Public Member Functions | List of all members
StringPairArray Class Reference

A container for holding a set of strings which are keyed by another string. More...

Public Member Functions

 StringPairArray (bool ignoreCaseWhenComparingKeys=true)
 Creates an empty array. More...
 
 StringPairArray (const StringPairArray &other)
 Creates a copy of another array. More...
 
 ~StringPairArray ()
 Destructor. More...
 
StringPairArrayoperator= (const StringPairArray &other)
 Copies the contents of another string array into this one. More...
 
bool operator== (const StringPairArray &other) const
 Compares two arrays. More...
 
bool operator!= (const StringPairArray &other) const
 Compares two arrays. More...
 
const Stringoperator[] (StringRef key) const
 Finds the value corresponding to a key string. More...
 
String getValue (StringRef, const String &defaultReturnValue) const
 Finds the value corresponding to a key string. More...
 
bool containsKey (StringRef key) const noexcept
 Returns true if the given key exists. More...
 
const StringArraygetAllKeys () const noexcept
 Returns a list of all keys in the array. More...
 
const StringArraygetAllValues () const noexcept
 Returns a list of all values in the array. More...
 
int size () const noexcept
 Returns the number of strings in the array. More...
 
void set (const String &key, const String &value)
 Adds or amends a key/value pair. More...
 
void addArray (const StringPairArray &other)
 Adds the items from another array to this one. More...
 
void clear ()
 Removes all elements from the array. More...
 
void remove (StringRef key)
 Removes a string from the array based on its key. More...
 
void remove (int index)
 Removes a string from the array based on its index. More...
 
void setIgnoresCase (bool shouldIgnoreCase)
 Indicates whether to use a case-insensitive search when looking up a key string. More...
 
String getDescription () const
 Returns a descriptive string containing the items. More...
 
void minimiseStorageOverheads ()
 Reduces the amount of storage being used by the array. More...
 

Detailed Description

A container for holding a set of strings which are keyed by another string.

See also
StringArray

Constructor & Destructor Documentation

◆ StringPairArray() [1/2]

StringPairArray::StringPairArray ( bool  ignoreCaseWhenComparingKeys = true)

Creates an empty array.

◆ StringPairArray() [2/2]

StringPairArray::StringPairArray ( const StringPairArray other)

Creates a copy of another array.

◆ ~StringPairArray()

StringPairArray::~StringPairArray ( )

Destructor.

Member Function Documentation

◆ operator=()

StringPairArray& StringPairArray::operator= ( const StringPairArray other)

Copies the contents of another string array into this one.

◆ operator==()

bool StringPairArray::operator== ( const StringPairArray other) const

Compares two arrays.

Comparisons are case-sensitive.

Returns
true only if the other array contains exactly the same strings with the same keys

◆ operator!=()

bool StringPairArray::operator!= ( const StringPairArray other) const

Compares two arrays.

Comparisons are case-sensitive.

Returns
false if the other array contains exactly the same strings with the same keys

◆ operator[]()

const String& StringPairArray::operator[] ( StringRef  key) const

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.

See also
getValue

◆ getValue()

String StringPairArray::getValue ( StringRef  ,
const String defaultReturnValue 
) const

Finds the value corresponding to a key string.

If no such key is found, this will just return the value provided as a default.

See also
operator[]

◆ containsKey()

bool StringPairArray::containsKey ( StringRef  key) const
noexcept

Returns true if the given key exists.

◆ getAllKeys()

const StringArray& StringPairArray::getAllKeys ( ) const
noexcept

Returns a list of all keys in the array.

◆ getAllValues()

const StringArray& StringPairArray::getAllValues ( ) const
noexcept

Returns a list of all values in the array.

◆ size()

int StringPairArray::size ( ) const
noexcept

Returns the number of strings in the array.

References BlocksProtocol::key.

◆ set()

void StringPairArray::set ( const String key,
const String value 
)

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.

◆ addArray()

void 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.

◆ clear()

void StringPairArray::clear ( )

Removes all elements from the array.

◆ remove() [1/2]

void StringPairArray::remove ( StringRef  key)

Removes a string from the array based on its key.

If the key isn't found, nothing will happen.

◆ remove() [2/2]

void 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.

◆ setIgnoresCase()

void StringPairArray::setIgnoresCase ( bool  shouldIgnoreCase)

Indicates whether to use a case-insensitive search when looking up a key string.

◆ getDescription()

String StringPairArray::getDescription ( ) const

Returns a descriptive string containing the items.

This is handy for dumping the contents of an array.

◆ minimiseStorageOverheads()

void 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.


The documentation for this class was generated from the following file: