Данный раздел представляет собой справочник по контейнерным классам 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 содержит классы для часто используемых структур данных (списки, стеки, очереди и т.д.). Классы организованы в соответствии с иерархией классов, что позволяет иметь высокую степень модульности благодаря свойствам наследования и полиморфизма. Вы можете использовать эти классы в том виде, как они есть, либо расширять и дополнять их, получая объектно-ориентированные программные продукты, подходящие для ваших задач.
Реализует управляемый массив объектов типа 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[] | Возвращает ссылку на элемент с заданным индексом. |
Реализует объект итератора для перебора объектов TMArrayAsVector.
Constructor | Создает объект итератора для перебора объектов TMArrayAsVector. |
Current | Возвращает текущий объект. |
Restart | Возобновляет итерацию с начала или с заданного диапазона. |
operator ++ | Перемещается к следующему объекту и возвращает объект, который был текущим перед перемещением или после перемещения. |
operator int | Для тестирования оставшихся в итераторе объектов конвертирует итератор в целое значение (если в итераторе ничего не осталось, то получается 0). |
Реализует массив объектов типа T, используя в качестве основы реализации вектор. Для управления памятью используется TStandardAllocator.
Constructor | Создает массив с заданными верхней и нижней границей и расширением delta. |
Реализует объект итератора для перебора объектов TArrayAsVector. Элементы см. в TMArrayAsVectorIterator.
Constructor | Создает объект итератора для перебора объектов TArrayAsVector. |
Реализует управляемый косвенный массив объектов типа 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[] | Возвращает ссылку на элемент с заданным индексом. |
Constructor | Создает объект итератора для перебора объектов TMArrayAsVector. |
Current | Возвращает текущий объект. |
Restart | Возобновляет итерацию с начала или с заданного диапазона. |
operator ++ | Перемещается к следующему объекту и возвращает объект, который был текущим перед перемещением (постинкрементация). |
Реализует косвенный массив объектов типа T, используя в качестве основы реализации вектор. Для управления памятью используется TStandardAllocator. Элементы см. в TMIArrayAsVector.
Constructor | Создает массив с заданными верхней и нижней границей расширением delta. |
Реализует объект итератора для перебора объектов TIArrayAsVector. Для управления памятью использует TSrandarsAllocator. Элементы и операции см. в TMIArrayAsVectorIterator.
Constructor | Создает объект итератора для перебора объек тов TIArrayAsVector. |
Реализует отсортированный массив объектов типа T, используя в качестве основы реализации вектор. За исключением AddAt все функции-элементы наследуются из TMArrayAsVector.
Constructor | Создает массив с заданными верхней и нижней границей и расширением delta. Для типа T требуется операция <. |
Реализует объект итератора для перебора объектов TMSArrayAsVector. Элементы и операции см. в TMArrayAsVectorIterator.
Constructor | Создает объект итератора для перебора объек тов TSArrayAsVector. |
Реализует отсортированный массив объектов типа T, используя в качестве основы реализации вектор. За исключением AddAt все функции-элементы наследуются из TMArrayAsVector.
Constructor | Создает массив с заданными верхней и нижней границей и расширением delta. Для типа T требуется операция <. |
Реализует объект итератора для перебора объектов TSArrayAsVector. Элементы и операции см. в TMArrayAsVectorIterator.
Constructor | Создает объект итератора для перебора объектов TSArrayAsVector. |
Реализует косвенный отсортированный массив объектов типа T, используя в качестве основы реализации вектор. Функции-элементы см. в TMIArrayAsVector.
Constructor | Создает массив с заданными верхней и нижней границей и расширением delta. |
Реализует объект итератора для перебора объектов TISArrayAsVector. Элементы и операции см. в TMArrayAsVectorIterator.
Constructor | Создает объект итератора для перебора объектов TISArrayAsVector. |
Реализует управляемый косвенный отсортированный массив объектов типа T, используя в качестве основы реализации вектор. Функции-элементы см. в TMIArrayAsVector.
Constructor | Создает массив с заданными верхней и нижней границей и расширением delta. |
Реализует управляемую ассоциацию, связывая непосредственный ключ K с непосредственным (прямым) значением L. Предполагается, что K имеет функцию-элемент HashValue, или что существует глобальная функция со следующим прототипом:
unsigned HashValue( K & );
K должно также иметь допустимую операцию ==. Класс A представляет администратор хранения, заданный пользователем.
Constructor | Строит объект, который связывает копию объекта ключа с копией объекта значения. |
HashValue | Возвращает для ключа значение хеширования. |
Key | Возвращает KeyData. |
Value | Возвращает ValueData. |
operator == | Проверяет равенство ключей. |
Стандартная ассоциация (непосредственный ключ, непосредственное значение). Реализует ассоциацию, связывая непосредственный ключ K с непосредственным (прямым) значением L. Предполагается, что K имеет функцию-элемент HashValue, или что существует глобальная функция со следующим прототипом:
unsigned HashValue( K & );
K должно также иметь допустимую операцию ==. Элементы см. в TMDDAssociation.
Constructor | Строит объект, который связывает объект ключа с объектом значения. |
Реализует управляемую ассоциацию, связывая косвенный ключ K с косвенным значением L. Предполагается, что K имеет функцию-элемент HashValue, или что существует глобальная функция со следующим прототипом:
unsigned HashValue( K & );
K должно также иметь допустимую операцию ==. Класс A представляет администратор хранения, заданный пользователем.
Constructor | Заданный по умолчанию конструктор или конструктор, который строит объект, связывающий объект ключа с объектом значения. |
HashValue | Возвращает для ключа значение хеширования. |
Key | Возвращает KeyData. |
Value | Возвращает ValueData. |
operator == | Проверяет равенство ключей. |
Реализует ассоциацию, связывая непосредственный ключ K с непосредственным (прямым) значением L. Предполагается, что K имеет функцию-элемент HashValue, или что существует глобальная функция со следующим прототипом:
unsigned HashValue( K & );
K должно также иметь допустимую операцию ==. Элементы см. в TMDIAssociation.
Constructor | Строит объект, который связывает объект ключа с объектом значения. |
Реализует управляемую ассоциацию, связывая косвенный ключ K с косвенным значением L. Предполагается, что K имеет функцию-элемент HashValue, или что существует глобальная функция со следующим прототипом:
unsigned HashValue( K & );
K должно также иметь допустимую операцию ==. Класс A представляет администратор хранения, заданный пользователем.
KeyData | Класс, переданный в шаблон пользователем. |
ValueData | Значение класса, переданного в шаблоне пользователем. |
Constructor | Заданный по умолчанию конструктор или конструктор, который строит объект, связывающий объект ключа с объектом значения. |
HashValue | Возвращает для ключа значение хеширования. |
Key | Возвращает указатель на ключ. |
Value | Возвращает копию данных. |
operator == | Проверяет равенство ключей. |
Реализует ассоциацию, связывая косвенный ключ K с косвенным значением L. Предполагается, что K имеет функцию-элемент HashValue, или что существует глобальная функция со следующим прототипом:
unsigned HashValue( K & );
K должно также иметь допустимую операцию ==. Элементы см. в TMDIAssociation.
Constructor | Строит объект, который связывает объект ключа с объектом значения. |
Реализует управляемую ассоциацию, связывая косвенный ключ K с косвенным значением L. Предполагается, что K имеет функцию-элемент HashValue, или что существует глобальная функция со следующим прототипом:
unsigned HashValue( K & );
K должно также иметь допустимую операцию ==. Класс A представляет администратор хранения, заданный пользователем.
Constructor | Заданный по умолчанию конструктор или конструктор, который строит объект, связывающий объект ключа с объектом значения. |
HashValue | Возвращает для ключа значение хеширования. |
Key | Возвращает указатель на ключ. |
Value | Возвращает указатель на данные. |
operator == | Проверяет равенство ключей. |
Реализует управляемую ассоциацию, связывая косвенный ключ K с косвенным значением L. Предполагается, что K имеет функцию-элемент HashValue, или что существует глобальная функция со следующим прототипом:
unsigned HashValue( K & );
K должно также иметь допустимую операцию ==. Элементы см. в TMIIAssociation.
Constructor | Заданный по умолчанию конструктор или конструктор, который строит объект, связывающий объект ключа с объектом значения. |
Реализует управляемое мультимножество объектов T, используя в качестве основы реализации вектор. В отличие от множеств, мультимножества могут содержать дублируемые объекты.
Constructor | Строит управляемое пустое мультимножество с заданным числом элементов, которые оно может содержать. |
Add | Добавляет к мультимножеству заданный объект. |
Detach | Удаляет заданный объект. Он удаляется в соответствии с текущим владельцем. |
FindMember | Возвращает указатель на заданный объект или 0. |
Flush | Удаляет из мультимножества все элементы, не уничтожая его. |
ForEach | Создает внутренний итератор для выполнения для каждого элемента мультимножества заданной функции. Аргумент позволяет передать этой функции произвольные данные. |
GetItemsin-Container | Возвращает число элементов в мультимножестве. |
HasMember | Возвращает 1, если данный объект найден в массиве, и 0 в противном случае. |
IsEmpty | Возвращает 1, если мультимножество не содержит элементов, и 0 в противном случае. |
IsFull | Возвращает 0. |
Find | Возвращает указатель на данный объект, если он найден, или 0. |
Реализует итератор объекта для перебора объектов TMBagAsVector. Элементы см. в TMArrayAsVectorIterator.
Constructor | Строит объект, выполняющий итерацию по всем объектам TMBagAsVector. |
Реализует множество объектов типа T, используя в качестве основы реализации вектор. Для управления памятью используется TStandardAllocator. Элементы описываются в TMBagAsVector.
Constructor | Строит пустое мультимножество, представляющее число элементов, которое оно может содержать. |
Constructor | Строит объект, выполняющий итерацию по всем объектам TBagAsVector. |
Реализует множество управляемых объектов типа T, используя в качестве основы реализации вектор.
Constructor | Строит пустое управляемое косвенное мультимножество с заданным числом потенциальных элементов. |
Add | Добавляет заданный объект указателя на мультимножество. |
Detach | Удаляет заданный объект указателя. Он удаляется в соответствии с текущим владельцем. |
FindMember | Возвращает указатель на заданный объект или 0. |
FirstThat | См. TMBagAsVector::FirstThat. |
Flush | Удаляет из мультимножества все элементы, не уничтожая его. |
ForEach | Создает внутренний итератор для выполнения для каждого элемента мультимножества заданной функции. Аргумент позволяет передать этой функции произвольные данные. |
GetItemsin-Container | Возвращает число объектов в мультимножестве. |
HasMember | Возвращает 1, если данный объект найден в массиве, и 0 в противном случае. |
IsEmpty | Возвращает 1, если мультимножество не содержит элементов (пустое), и 0 в противном случае. |
IsFull | Возвращает 0. |
LastThat | Возвращает указатель на последний объект, который удовлетворяет заданному условию. Вы можете задать функцию проверки условия и передать ей произвольные аргументы. |
Реализует итератор объекта для перебора объектов TMIBagAsVector. Элементы описываются в TMArrayAsVectorIterator.
Constructor | Строит объект, выполняющий итерацию по всем объектам TMIBagAsVector. |
Реализует множество объектов типа T, используя в качестве основы реализации вектор. Для управления памятью используется TStandardAllocator. Элементы описываются в TMIBagAsVector.
Constructor | Строит пустое управляемое косвенное мультимножество, представляющее число элементов, которое оно может содержать. |
Реализует итератор объекта для перебора объектов TIBagAsVector. Для управления памятью используется TStandardAllocator. Элементы описываются в TMBagAsVector. Элементы описываются в TMArrayAsVectorIterator.
Constructor | Строит объект, выполняющий итерацию по всем объектам TMIBagAsVector. |
Реализует несбалансированное двоичное дерево. Класс T должен иметь операции < и == и заданный по умолчанию конструктор.
Add | Создает новый узел двоичного дерева и включает в него копию заданного объекта. |
Detach | Удаляет из дерева узел, содержащий заданный элемент. |
Find | Возвращает указатель на узел, содержащий заданный элемент. |
Flush | Устраняет все элементы из дерева, удаляя их или нет в соответствии с переданным параметром. |
ForEach | Создает внутренний итератор, который для каждого элемента в контейнере выполняет заданную функцию (этой функции можно передать произвольные данные). |
GetItemsIn-Container | Возвращает число элементов в дереве. |
Parent::IsEmpty | Возвращает 1 для пустого дерева, иначе - 0. |
EqualTo | Проверяет равенство ( эквивалентность) двух узлов. |
LessThan | Проверяет, что первый из заданных узлов меньше второго. |
DeleteNode | Удаляет узел. |
Реализует итератор, выполняющий перебор по всем объектам TBinarySearchTreeImp.
Constructor | Строит итератор, выполняющий перебор по всем объектам TBinarySearchTreeImp. |
Current | Возвращает текущий объект. |
Restart | Возобновляет итерацию с начала дерева. |
operator int | Преобразует итератор в целое значение для проверки наличия объектов в итераторе. Если в итераторе ничего не осталось, конвертируется в 0. |
operator ++ | Перемещается к следующему объекту в дереве и возвращает объект, который был текущим перед перемещением (постинкрементация) или после (прединкрементация). |
Реализует косвенное несбалансированное двоичное дерево. Класс T должен иметь операции < и == и заданный по умолчанию конструктор.
Add | Создает новый узел двоичного дерева и включает в него указатель на заданный объекта. |
Detach | Удаляет из дерева узел, содержащий заданный элемент. |
Find | Возвращает указатель на узел, содержащий за- данный указатель на элемент. |
Flush | Устраняет все элементы из дерева, удаляя их или нет в соответствии с переданным параметром. |
ForEach | Создает внутренний итератор, который для каждого элемента в контейнере выполняет заданную функцию (этой функции можно передать произ- вольные данные). |
GetItemsIn-Container | Возвращает число элементов в дереве. |
Parent::IsEmpty | Возвращает 1 для пустого дерева, иначе - 0. |
EqualTo | Проверяет равенство ( эквивалентность) двух узлов. |
LessThan | Проверяет, что первый из заданных узлов меньше второго. |
DeleteNode | Удаляет узел. |
Реализует итератор, выполняющий перебор по всем объектам TIBinarySearchTreeImp.
Constructor | Строит итератор, выполняющий перебор по всем объектам TIBinarySearchTreeImp. |
Current | Возвращает указатель на текущий объект. |
Restart | Возобновляет итерацию с начала дерева. |
operator int | Преобразует итератор в целое значение для проверки наличия объектов в итераторе. Если в итераторе ничего не осталось, конвертируется в 0. |
operator ++ | Перемещается к следующему объекту в дереве и возвращает объект, который был текущим перед перемещением (постинкрементация) или после (прединкрементация). |
Назад | Содержание | Вперед