LMMS
Loading...
Searching...
No Matches
juce::StringPairArray Class Reference

#include <juce_StringPairArray.h>

Public Member Functions

 StringPairArray (bool ignoreCaseWhenComparingKeys=true)
 StringPairArray (const StringPairArray &other)
 ~StringPairArray ()=default
StringPairArrayoperator= (const StringPairArray &other)
bool operator== (const StringPairArray &other) const
bool operator!= (const StringPairArray &other) const
const Stringoperator[] (StringRef key) const
String getValue (StringRef, const String &defaultReturnValue) const
bool containsKey (StringRef key) const noexcept
const StringArraygetAllKeys () const noexcept
const StringArraygetAllValues () const noexcept
int size () const noexcept
void set (const String &key, const String &value)
void addArray (const StringPairArray &other)
void clear ()
void remove (StringRef key)
void remove (int index)
void setIgnoresCase (bool shouldIgnoreCase)
bool getIgnoresCase () const noexcept
String getDescription () const
void minimiseStorageOverheads ()
void addMap (const std::map< String, String > &mapToAdd)
void addUnorderedMap (const std::unordered_map< String, String > &mapToAdd)

Private Member Functions

template<typename Map>
void addMapImpl (const Map &mapToAdd)

Private Attributes

StringArray keys
StringArray values
bool ignoreCase

Detailed Description

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

See also
StringArray

@tags{Core}

Constructor & Destructor Documentation

◆ StringPairArray() [1/2]

juce::StringPairArray::StringPairArray ( bool ignoreCaseWhenComparingKeys = true)

Creates an empty array

◆ StringPairArray() [2/2]

juce::StringPairArray::StringPairArray ( const StringPairArray & other)

Creates a copy of another array

◆ ~StringPairArray()

juce::StringPairArray::~StringPairArray ( )
default

Destructor.

Member Function Documentation

◆ addArray()

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.

◆ addMap()

void juce::StringPairArray::addMap ( const std::map< String, String > & mapToAdd)

Adds the contents of a map to this StringPairArray.

◆ addMapImpl()

template<typename Map>
void juce::StringPairArray::addMapImpl ( const Map & mapToAdd)
private

◆ addUnorderedMap()

void juce::StringPairArray::addUnorderedMap ( const std::unordered_map< String, String > & mapToAdd)

Adds the contents of an unordered map to this StringPairArray.

◆ clear()

void juce::StringPairArray::clear ( )

Removes all elements from the array.

◆ containsKey()

bool juce::StringPairArray::containsKey ( StringRef key) const
noexcept

Returns true if the given key exists.

◆ getAllKeys()

const StringArray & juce::StringPairArray::getAllKeys ( ) const
inlinenoexcept

Returns a list of all keys in the array.

◆ getAllValues()

const StringArray & juce::StringPairArray::getAllValues ( ) const
inlinenoexcept

Returns a list of all values in the array.

◆ getDescription()

String juce::StringPairArray::getDescription ( ) const

Returns a descriptive string containing the items. This is handy for dumping the contents of an array.

◆ getIgnoresCase()

bool juce::StringPairArray::getIgnoresCase ( ) const
noexcept

Indicates whether a case-insensitive search is used when looking up a key string.

◆ getValue()

String juce::StringPairArray::getValue ( StringRef key,
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[]

◆ minimiseStorageOverheads()

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.

◆ operator!=()

bool juce::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=()

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

Copies the contents of another string array into this one

◆ operator==()

bool juce::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[]()

const String & juce::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

◆ remove() [1/2]

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.

◆ remove() [2/2]

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.

◆ set()

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

◆ setIgnoresCase()

void juce::StringPairArray::setIgnoresCase ( bool shouldIgnoreCase)

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

◆ size()

int juce::StringPairArray::size ( ) const
inlinenoexcept

Returns the number of strings in the array

Member Data Documentation

◆ ignoreCase

bool juce::StringPairArray::ignoreCase
private

◆ keys

StringArray juce::StringPairArray::keys
private

◆ values

StringArray juce::StringPairArray::values
private

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