| 
							- /*
 -   ==============================================================================
 - 
 -    This file is part of the JUCE library.
 -    Copyright (c) 2017 - ROLI Ltd.
 - 
 -    JUCE is an open source library subject to commercial or open-source
 -    licensing.
 - 
 -    The code included in this file is provided under the terms of the ISC license
 -    http://www.isc.org/downloads/software-support-policy/isc-license. Permission
 -    To use, copy, modify, and/or distribute this software for any purpose with or
 -    without fee is hereby granted provided that the above copyright notice and
 -    this permission notice appear in all copies.
 - 
 -    JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER
 -    EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE
 -    DISCLAIMED.
 - 
 -   ==============================================================================
 - */
 - 
 - StringPairArray::StringPairArray (const bool ignoreCase_)
 -     : ignoreCase (ignoreCase_)
 - {
 - }
 - 
 - StringPairArray::StringPairArray (const StringPairArray& other)
 -     : keys (other.keys),
 -       values (other.values),
 -       ignoreCase (other.ignoreCase)
 - {
 - }
 - 
 - StringPairArray::~StringPairArray()
 - {
 - }
 - 
 - StringPairArray& StringPairArray::operator= (const StringPairArray& other)
 - {
 -     keys = other.keys;
 -     values = other.values;
 -     return *this;
 - }
 - 
 - bool StringPairArray::operator== (const StringPairArray& other) const
 - {
 -     for (int i = keys.size(); --i >= 0;)
 -         if (other [keys[i]] != values[i])
 -             return false;
 - 
 -     return true;
 - }
 - 
 - bool StringPairArray::operator!= (const StringPairArray& other) const
 - {
 -     return ! operator== (other);
 - }
 - 
 - const String& StringPairArray::operator[] (StringRef key) const
 - {
 -     return values [keys.indexOf (key, ignoreCase)];
 - }
 - 
 - String StringPairArray::getValue (StringRef key, const String& defaultReturnValue) const
 - {
 -     const int i = keys.indexOf (key, ignoreCase);
 - 
 -     if (i >= 0)
 -         return values[i];
 - 
 -     return defaultReturnValue;
 - }
 - 
 - bool StringPairArray::containsKey (StringRef key) const noexcept
 - {
 -     return keys.contains (key);
 - }
 - 
 - void StringPairArray::set (const String& key, const String& value)
 - {
 -     const int i = keys.indexOf (key, ignoreCase);
 - 
 -     if (i >= 0)
 -     {
 -         values.set (i, value);
 -     }
 -     else
 -     {
 -         keys.add (key);
 -         values.add (value);
 -     }
 - }
 - 
 - void StringPairArray::addArray (const StringPairArray& other)
 - {
 -     for (int i = 0; i < other.size(); ++i)
 -         set (other.keys[i], other.values[i]);
 - }
 - 
 - void StringPairArray::clear()
 - {
 -     keys.clear();
 -     values.clear();
 - }
 - 
 - void StringPairArray::remove (StringRef key)
 - {
 -     remove (keys.indexOf (key, ignoreCase));
 - }
 - 
 - void StringPairArray::remove (const int index)
 - {
 -     keys.remove (index);
 -     values.remove (index);
 - }
 - 
 - void StringPairArray::setIgnoresCase (const bool shouldIgnoreCase)
 - {
 -     ignoreCase = shouldIgnoreCase;
 - }
 - 
 - String StringPairArray::getDescription() const
 - {
 -     String s;
 - 
 -     for (int i = 0; i < keys.size(); ++i)
 -     {
 -         s << keys[i] << " = " << values[i];
 -         if (i < keys.size())
 -             s << ", ";
 -     }
 - 
 -     return s;
 - }
 - 
 - void StringPairArray::minimiseStorageOverheads()
 - {
 -     keys.minimiseStorageOverheads();
 -     values.minimiseStorageOverheads();
 - }
 
 
  |