Контейнерные классы С++
Данный раздел представляет собой справочник по контейнерным классам Borlan C++. Каждый контейнерный класс принадлежит к одной из следующих групп:
Группа | Файл заголовка |
---|---|
Массивы. | arrays.h |
Ассоциации. | assoc.h |
Мультимножества. | bags.h |
Двоичные деревья. | binimp.h |
Двунаправленные очереди. | deques.h |
Словарь. | dict.h |
Двусвязный список. | dlistimp.h |
Таблица хеширования. | hashimp.h |
Списки. | listimp.h |
Очереди. | queues.h |
Множества. | sets.h |
Стеки. | stacks.h |
Векторы | vectimp.h |
Библиотека классов container содержит классы для часто используемых структур данных (списки, стеки, очереди и т.д.). Классы организованы в соответствии с иерархией классов, что позволяет иметь высокую степень модульности благодаря свойствам наследования и полиморфизма. Вы можете использовать эти классы в том виде, как они есть, либо расширять и дополнять их, получая объектно-ориентированные программные продукты, подходящие для ваших задач.
Шаблон TMArrayVector (arrays.h)
Реализует управляемый массив объектов типа T, использующий в качестве основы вектор. Для типа T требуется операция ==.
Функции-элементы
Constructor | Создает с заданными верхней/нижней границей и приростом delta. |
Add | Добавляет объект T по следующему индексу в конце массива. Добавление элемента перед верхней границей приводит к условию переполнения. В этом случае, если delta не равно 0, массив расширяется. Иначе Add возвращает 0, и Add не может добавить объект. |
AddAt | Добавляет объект по заданному индексу. Если индекс занят, то объект перемещается на расстояние, достаточное для включения добавленного объекта. При выходе за верхнюю границу массив расширяется на delta. Если delta = 0, то AddAt в этой ситуации дает ошибку. |
ArraySize | Возвращает текущее число выделенных ячеек. |
Destroy | Удаляет объект по заданному индексу. Объект будет уничтожаться. |
Detach | Удаляет объект в заданной позиции или первый объект, который совпадает с заданным. |
FirstThat | Возвращает указатель на первый объект в массиве, который удовлетворяет заданному условию. Вы можете передать указатель на функцию проверки. |
Flush | Удаляет все элементы из массива, не уничтожая массив. Дальнейшие действия с ними определяются статусом владельца. |
ForEach | Создает внутренний итератор для выполнения для каждого элемента массива заданной функции. Аргумент позволяет передать этой функции произвольные данные. |
GetItemsin-Container | Возвращает число элементов в массиве. |
HasMember | Возвращает 1, если данный объект найден в массиве, и 0 в противном случае. |
IsEmpty | Возвращает 1, если массив не содержит элементов, и 0 в противном случае. |
IsFull | Возвращает 1, если массив заполнен, или 0 в противном случае. Массив заполнен, если delta не равно 0, и число элементов в контейнере равно значению, возвращаемому ArraySize. |
LastThat | Возвращает указатель на последний объект в массиве, удовлетворяющий заданному условию. Вы можете задать функцию проверки, возвращающую True для заданного условия. Ей можно передавать произвольные аргументы. Если объект не отвечает условию, возвращается 0. LastThat создает свой собственный итератор. |
LowerBound | Возвращает нижнюю границу массива. |
UpperBound | Возвращает текущую верхнюю границу массиву. |
BoundBase | Настраивает векторы, начинающиеся с 0, на не начинающиеся с нуля массивы. |
Find | Находит заданный объект и возвращает индекс объекта. В противном случае возвращается INT_MAX. |
Grow | Увеличивает размер массива в любом направлении, чтобы заданный индекс был допустимым. |
InsertEntry | Создает объект и заносит его по указанному индексу, перемещая записи на 1 после этого индекса. |
ItemAt | Возвращает копию объекта, записанного в ячейке с заданным индексом. |
Reallocate | Если delta = 0, возвращает 0. В противном случае пытается создать новый массив заданного размера (настраиваемый вверх до ближайшего кратного delta). Существующий массив копируется в расширенный массив, а затем удаляется. В массиве указателей записи для каждого неиспользуемого элемента обнуляется. Передаваемое смещение определяет размещение в новом векторе. Это необходимо, когда массив должен расширяться вниз. |
RemoveEntry | Удаляет элемент по заданному индексу в массиве, расположенные выше элементы циклически копируются на позицию ниже. |
SetData | Заменяет элемент по заданному в массиве индексу. |
ZeroBase | Возвращает позицию относительно: lowerbound(loc - lowerbound) где lowerbound - нижняя граница, а loc - заданный индекс. |
operator[] | Возвращает ссылку на элемент с заданным индексом. |
Шаблон TMArrayAsVectorIterator (arrays.h)
Реализует объект итератора для перебора объектов TMArrayAsVector.
Функции-элементы
Constructor | Создает объект итератора для перебора объектов TMArrayAsVector. |
Current | Возвращает текущий объект. |
Restart | Возобновляет итерацию с начала или с заданного диапазона. |
operator ++ | Перемещается к следующему объекту и возвращает объект, который был текущим перед перемещением или после перемещения. |
operator int | Для тестирования оставшихся в итераторе объектов конвертирует итератор в целое значение (если в итераторе ничего не осталось, то получается 0). |
Шаблон TArrayAsVector (arrays.h)
Реализует массив объектов типа T, используя в качестве основы реализации вектор. Для управления памятью используется TStandardAllocator.
Функции-элементы
Constructor | Создает массив с заданными верхней и нижней границей и расширением delta. |
Шаблон TArrayAsVectorIterator (arrays.h)
Реализует объект итератора для перебора объектов TArrayAsVector. Элементы см. в TMArrayAsVectorIterator.
Функции-элементы
Constructor | Создает объект итератора для перебора объектов TArrayAsVector. |
Шаблон TMIArrayAsVector (arrays.h)
Реализует управляемый косвенный массив объектов типа T, используя в качестве основы реализации вектор.
Функции-элементы
Constructor | Создает косвенный массив заданными верхней и нижней границей и расширением delta. |
Add | Добавляет по следующему доступному индексу в конце массива указатель на объект T. Добавление элемента перед верхней границей приводит к условию переполнения. В этом случае, если delta не равно 0, массив расширяется. Иначе Add возвращает 0, и Add не может добавить объект. |
AddAt | Добавляет объект T по заданному индексу. Если индекс занят, то объект перемещается на расстояние, достаточное для включения добавленного объекта. При выходе за верхнюю границу массив расширяется на delta. Если delta = 0, то AddAt в этой ситуации дает ошибку. |
ArraySize | Возвращает текущее число выделенных ячеек. |
Destroy | Удаляет объект по заданному индексу. Объект будет удаляться. |
Detach | Удаляет объект с указателем по заданному индексу или удаляет заданный указатель. В зависимости от того, кто является владельцем объекта, будет происходить его удаление. |
FirstThat | Возвращает указатель на первый элемент в массиве, который удовлетворяет заданному условию. Вы можете передать указатель на функцию проверки. |
Find | Находит заданный указатель на объект и воз вращает индекс. |
Flush | Удаляет все элементы из массива, не уничтожая массив. Дальнейшие действия с ними определяются статусом владельца. |
ForEach | Создает внутренний итератор для выполнения для каждого элемента массива заданной функции. Аргумент позволяет передать этой функции произвольные данные. |
GetItemsin-Container | Возвращает число элементов в массиве. |
HasMember | Возвращает 1, если данный объект найден в массиве, и 0 в противном случае. |
IsEmpty | Возвращает 1, если массив не содержит элементов, и 0 в противном случае. |
IsFull | Возвращает 1, если массив заполнен, или 0 в противном случае. Массив заполнен, если delta не равно 0, и число элементов в контейнере равно значению, возвращаемому ArraySize. |
LastThat | Возвращает указатель на последний объект в массиве, удовлетворяющий заданному условию. Вы можете задать функцию проверки, возвращающую True для заданного условия. Ей можно передавать произвольные аргументы. Если объект не отвечает условию, возвращается 0. LastThat создает свой собственный итератор, так что вы можете интерпретировать ее как функцию поиска. |
LowerBound | Возвращает нижнюю границу массива. |
UpperBound | Возвращает текущую верхнюю границу массиву. |
BoundBase | Настраивает векторы, начинающиеся с 0, на не начинающиеся с нуля массивы. |
Grow | Увеличивает размер массива в любом направлении, чтобы заданный индекс был допустимым. |
InsertEntry | Создает объект и заносит его по указанному индексу. |
ItemAt | Возвращает копию объекта, записанного в ячей ке с заданным индексом. |
Reallocate | Если delta = 0, возвращает 0. В противном случае пытается создать новый массив заданного размера (настраиваемый вверх до ближайшего кратного delta). Существующий массив копируется в расширенный массив, а затем удаляется. В массиве указателей записи для каждого неиспользуемого элемента обнуляется. Передаваемое смещение определяет размещение в новом векторе. Это необходимо, когда массив должен расширяться вниз. |
RemoveEntry | Удаляет элемент по заданному индексу в массиве, расположенные выше элементы циклически копируются на позицию ниже (массив уменьшается на 1 элемент). |
SetData | Заменяет элемент по заданному в массиве индексу. |
SqueezeEntry | Удаляет элемент в заданной позиции, уменьшая массив на 1 элемент. Расположенные выше элементы копируются на позицию вниз, а текущий элемент теряется. |
ZeroBase | Возвращает позицию относительно: lowerbound(loc - lowerbound) где lowerbound - нижняя граница, а loc - заданный индекс. |
operator[] | Возвращает ссылку на элемент с заданным индексом. |
Шаблон TMIArrayAsVectorIterator (arrays.h)
Реализует объект итератора для перебора
объектов TMIArrayAsVector. Базируется на TMVectorIteratorImp. Функции-элементы
Шаблон TIArrayAsVector (arrays.h)Реализует косвенный массив объектов типа T, используя в качестве основы реализации вектор. Для управления памятью используется TStandardAllocator. Элементы см. в TMIArrayAsVector. Функции-элементы
Шаблон TIArrayAsVectorItetator (arrays.h)Реализует объект итератора для перебора объектов TIArrayAsVector. Для управления памятью использует TSrandarsAllocator. Элементы и операции см. в TMIArrayAsVectorIterator. Функции-элементы
Шаблон TMSArrayAsVector (arrays.h)Реализует отсортированный массив объектов типа T, используя в качестве основы реализации вектор. За исключением AddAt все функции-элементы наследуются из TMArrayAsVector. Функции-элементы
Шаблон TMSArrayAsVectorItetator (arrays.h)Реализует объект итератора для перебора объектов TMSArrayAsVector. Элементы и операции см. в TMArrayAsVectorIterator. Функции-элементы
Шаблон TSArrayAsVector (arrays.h)Реализует отсортированный массив объектов типа T, используя в качестве основы реализации вектор. За исключением AddAt все функции-элементы наследуются из TMArrayAsVector. Функции-элементы
Шаблон TSArrayAsVectorItetator (arrays.h)Реализует объект итератора для перебора объектов TSArrayAsVector. Элементы и операции см. в TMArrayAsVectorIterator. Функции-элементы
Шаблон TISArrayAsVector (arrays.h)Реализует косвенный отсортированный массив объектов типа T, используя в качестве основы реализации вектор. Функции-элементы см. в TMIArrayAsVector. Функции-элементы
Шаблон TISArrayAsVectorItetator (arrays.h)Реализует объект итератора для перебора объектов TISArrayAsVector. Элементы и операции см. в TMArrayAsVectorIterator. Функции-элементы
Шаблон TMISArrayAsVector (arrays.h)Реализует управляемый косвенный отсортированный массив объектов типа T, используя в качестве основы реализации вектор. Функции-элементы см. в TMIArrayAsVector. Функции-элементы
Шаблон TMDAssociation (assoc.h)Реализует управляемую ассоциацию, связывая непосредственный ключ K с непосредственным (прямым) значением L. Предполагается, что K имеет функцию-элемент HashValue, или что существует глобальная функция со следующим прототипом: unsigned HashValue( K & ); K должно также иметь допустимую операцию ==. Класс A представляет администратор хранения, заданный пользователем. Функции-элементы
Шаблон TDDAssociation (assoc.h)Стандартная ассоциация (непосредственный ключ, непосредственное значение). Реализует ассоциацию, связывая непосредственный ключ K с непосредственным (прямым) значением L. Предполагается, что K имеет функцию-элемент HashValue, или что существует глобальная функция со следующим прототипом: unsigned HashValue( K & ); K должно также иметь допустимую операцию ==. Элементы см. в TMDDAssociation. Функции-элементы
Шаблон TDDAssociation (assoc.h)Реализует управляемую ассоциацию, связывая косвенный ключ K с косвенным значением L. Предполагается, что K имеет функцию-элемент HashValue, или что существует глобальная функция со следующим прототипом: unsigned HashValue( K & ); K должно также иметь допустимую операцию ==. Класс A представляет администратор хранения, заданный пользователем. Функции-элементы
Шаблон TDIAssociation (assoc.h)Реализует ассоциацию, связывая непосредственный ключ K с непосредственным (прямым) значением L. Предполагается, что K имеет функцию-элемент HashValue, или что существует глобальная функция со следующим прототипом: unsigned HashValue( K & ); K должно также иметь допустимую операцию ==. Элементы см. в TMDIAssociation. Функции-элементы
Шаблон TMIDAssociation (assoc.h)Реализует управляемую ассоциацию, связывая косвенный ключ K с косвенным значением L. Предполагается, что K имеет функцию-элемент HashValue, или что существует глобальная функция со следующим прототипом: unsigned HashValue( K & ); K должно также иметь допустимую операцию ==. Класс A представляет администратор хранения, заданный пользователем. Элементы данных
Функции-элементы
Шаблон TIDAssociation (assoc.h)Реализует ассоциацию, связывая косвенный ключ K с косвенным значением L. Предполагается, что K имеет функцию-элемент HashValue, или что существует глобальная функция со следующим прототипом: unsigned HashValue( K & ); K должно также иметь допустимую операцию ==. Элементы см. в TMDIAssociation.
Шаблон TMIIAssociation (assoc.h)Реализует управляемую ассоциацию, связывая косвенный ключ K с косвенным значением L. Предполагается, что K имеет функцию-элемент HashValue, или что существует глобальная функция со следующим прототипом: unsigned HashValue( K & ); K должно также иметь допустимую операцию ==. Класс A представляет администратор хранения, заданный пользователем. Функции-элементы
Шаблон TIIAssociation (assoc.h)Реализует управляемую ассоциацию, связывая косвенный ключ K с косвенным значением L. Предполагается, что K имеет функцию-элемент HashValue, или что существует глобальная функция со следующим прототипом: unsigned HashValue( K & ); K должно также иметь допустимую операцию ==. Элементы см. в TMIIAssociation. Функции-элементы
Шаблон TMBagAsVector (bags.h)Реализует управляемое мультимножество объектов T, используя в качестве основы реализации вектор. В отличие от множеств, мультимножества могут содержать дублируемые объекты. Функции-элементы
Шаблон TMBagAsVectorIterator (bags.h)Реализует итератор объекта для перебора объектов TMBagAsVector. Элементы см. в TMArrayAsVectorIterator. Функции-элементы
Шаблон TBagAsVector (bags.h)Реализует множество объектов типа T, используя в качестве основы реализации вектор. Для управления памятью используется TStandardAllocator. Элементы описываются в TMBagAsVector. Функции-элементы
Шаблон TMBagAsVectorIterator (bags.h) |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Реализует итератор объекта для перебора
объектов TBagAsVector. Для управления памятью
используется TStandardAllocator. Элементы описываются в TMArrayAsVectorIterator. Функции-элементы
Шаблон TMIBagAsVector (bags.h)Реализует множество управляемых объектов типа T, используя в качестве основы реализации вектор. Функции-элементы
Шаблон TMIBagAsVectorIterator (bags.h)Реализует итератор объекта для перебора объектов TMIBagAsVector. Элементы описываются в TMArrayAsVectorIterator. Функции-элементы
Шаблон TIBagAsVector (bags.h)Реализует множество объектов типа T, используя в качестве основы реализации вектор. Для управления памятью используется TStandardAllocator. Элементы описываются в TMIBagAsVector. Функции-элементы
Шаблон TIBagAsVectorIterator (bags.h)Реализует итератор объекта для перебора объектов TIBagAsVector. Для управления памятью используется TStandardAllocator. Элементы описываются в TMBagAsVector. Элементы описываются в TMArrayAsVectorIterator. Функции-элементы
Шаблон TBinarySearchTreeImp (binimp.h)Реализует несбалансированное двоичное дерево. Класс T должен иметь операции < и == и заданный по умолчанию конструктор. Функции-элементы
Шаблон TBinarySearchTreeIteratorImp (binimp.h)Реализует итератор, выполняющий перебор по всем объектам TBinarySearchTreeImp. Функции-элементы
Шаблон TIBinarySearchTreeImp (binimp.h)Реализует косвенное несбалансированное двоичное дерево. Класс T должен иметь операции < и == и заданный по умолчанию конструктор. Функции-элементы
Шаблон TIBinarySearchTreeIteratorImp (binimp.h)Реализует итератор, выполняющий перебор по всем объектам TIBinarySearchTreeImp. Функции-элементы
Назад | Содержание | Вперед |