Класс System::Collections::Generic::BaseDictionary

BaseDictionary class

Содержит общие реализации для различных структур данных, похожих на словари (например, Dictionary, SortedDictionary). Не следует использовать напрямую, за исключением наследования при определении контейнеров. Объекты этого класса должны создаваться только с помощью функции System::MakeObject(). Никогда не создавайте экземпляр этого типа в стеке или с помощью оператора new, так как это приведёт к ошибкам времени выполнения и/или сбоям утверждений. Всегда оборачивайте этот класс в указатель System::SmartPtr и используйте этот указатель для передачи его в функции в качестве аргумента.

template<typename Map>class BaseDictionary : public System::Collections::Generic::IDictionary<Map::key_type, Map::mapped_type>
ПараметрОписание
MapТип базовой карты.

Методы

МетодОписание
_add_range(std::initializer_list<typename Map::value_type>)Специфично для C++.
Add(const key_t&, const mapped_t&) overrideДобавляет пару ключ‑значение в словарь.
BaseDictionary()Создаёт пустую структуру данных.
BaseDictionary(int, const Args&…)Перенаправляющий конструктор, передающий аргументы в конструктор базовой карты.
BaseDictionary(BaseType *, const Args&…)Конструктор копирования.
BaseDictionary(BaseType *)Конструктор копирования.
begin() constВозвращает итератор к обёртке KVPair для элемента ключ‑значение контейнера. Реализовано в стиле C# — итератор должен возвращать объект KVPair с интерфейсом get_Key() и get_Value(). Если контейнер пуст, возвращённый итератор будет равен end().
cbegin() constВозвращает итератор к первому элементу контейнера. Реализовано в стиле STL. Если контейнер пуст, возвращённый итератор будет равен end().
cend() constВозвращает итератор к элементу, следующему за последним элементом контейнера. Реализовано в стиле STL. Этот элемент служит заполнителем; попытка доступа к нему приводит к неопределённому поведению.
Clear() overrideУдаляет все элементы.
ContainsKey(const key_t&) const overrideПроверяет, присутствует ли ключ в словаре.
ContainsValue(const mapped_t&)Проверяет, присутствует ли значение в словаре. Для сравнения значений используется оператор ==.
data()Доступ к базовому хранилищу данных.
data() constДоступ к базовому хранилищу данных.
end() constВозвращает итератор к обёртке KVPair для элемента ключ‑значение, следующего за последним элементом контейнера. Реализовано в стиле C# — итератор должен возвращать объект KVPair с интерфейсом get_Key() и get_Value(). Этот элемент служит заполнителем; попытка доступа к нему приводит к неопределённому поведению.
get_Count() const overrideПолучает количество элементов.
virtual GetEnumerator()Создаёт экземпляр перечислителя, должен быть реализован в подклассе.
GetValueOrDefault(const key_t&) const overrideВозвращает значение, если найдено; иначе Value().
GetValueOrDefault(const key_t&, const mapped_t&) const overrideВозвращает значение, если найдено; иначе defaultValue.
GetValueOrNull(const key_t&) const overrideВозвращает значение, если найдено; иначе null. Имеет смысл только для ссылочных типов.
idx_get(const key_t&) const overrideФункция получения по ключу.
idx_set(const key_t&, mapped_t) overrideФункция установки по ключу. Изменяет или создаёт элемент.
virtual operator[](const key_t&)Функция доступа.
Remove(const key_t&) overrideУдаляет указанный ключ из словаря.
SetTemplateWeakPtr(unsigned int) override
TryGetValue(const key_t&, mapped_t&) const overrideИщет значение по ключу и возвращает его, если найдено.
virtualizeBeginConstIterator() const overrideПолучает реализацию константного итератора begin для текущего контейнера.
virtualizeBeginIterator() overrideПолучает реализацию итератора begin для текущего контейнера.
virtualizeEndConstIterator() const overrideПолучает реализацию константного итератора end для текущего контейнера.
virtualizeEndIterator() overrideПолучает реализацию итератора end для текущего контейнера.

Typedefs

Определение типаОписание
BaseTypeРеализованный интерфейс.
const_iteratorТип константного итератора.
iteratorТип итератора.
KeyCollectionУбедитесь, что используется правильный аллокатор с базовым типом хранилища.
KVPairТип пары «ключ‑значение».
map_tВнутренний тип карты.
ValueCollectionКоллекция значений.

См. также