Класс CObList
Поддерживает упорядоченные списки неуникального указателей, доступных CObject последовательно или значением указателя.
class CObList : public CObject
Члены
Открытые конструкторы
Имя |
Описание |
---|---|
Создает пустой список для указателей CObject. |
Открытые методы
Имя |
Описание |
---|---|
Добавляет элемент (или все элементы в других список) в начало списка (делает новую головку). |
|
Добавляет элемент (или все элементы в других список) в кабелю списка (делает новый хвост). |
|
Получает положение элемента, заданного значением указателя. |
|
Получает положение элемента, указанного на нулевой- индексу. |
|
Возвращает элемент на заданной позиции. |
|
Получает число элементов в данном списке. |
|
Возвращает головной элемент списка (не может быть пустым). |
|
Возвращает позицию головного элемента списка. |
|
Возвращает следующий элемент для итерации. |
|
Возвращает предыдущий элемент для итерации. |
|
Получает число элементов в данном списке. |
|
Возвращает элемент списка с префиксом tail (не может быть пустым). |
|
Возвращает позицию элемента с префиксом tail списка. |
|
Вставляет новый элемент после заданной позиции. |
|
Вставляет новый элемент до заданной позиции. |
|
Тесты для пустого состояния списка (без элементов). |
|
Удаляет все элементы из этого списка. |
|
Удаляет элемент из этого списка, указанного по позиции. |
|
Удаляет элемент из списка head. |
|
Удаляет элемент из списка с префиксом tail. |
|
Задает элемент по заданной позиции. |
Заметки
Списки CObList аналогично поведению двойной- связанные списки.
Переменная типа POSITION ключ для списка. Можно использовать переменную POSITION и в виде итератора для просмотра списка последовательно и как закладка, чтобы сохранить место. Позиция не то же, что и индекс.
Вставка элемента очень быстро в начало списка на кабеле и в известном POSITION. Последовательный поиск необходим для поиска элемента по значению или по индексу. Этот поиск может быть медленным, если список длинный.
CObList содержит макрос IMPLEMENT_SERIAL для поддержки сериализации и сбрасывать его элементов. Если список указателей CObject хранится в архив или с перегруженным оператора insert или функцией-членом Serialize, то каждый элемент CObject сериализации в свою очередь.
Если требуется дамп отдельных элементов CObject в списке, необходимо установить глубину контекста дампа значение 1 или больше.
Если объект CObList удаления или при его элементы удалены только указатели CObject, а не объекты удалены они ссылаются.
Можно создать собственные классы из CObList. Новый класс списка, предназначенный для хранения указателей на объекты, производным от CObject добавляет новые элементы данных и новых функций-членов. Обратите внимание, что результирующий список не является строго safe типа, потому что он допускает вставку любого указателя CObject.
Примечание
Необходимо использовать макрос IMPLEMENT_SERIAL в реализации производного класса, если планируется выполнить сериализацию списка.
Дополнительные сведения об использовании CObList см. в статье коллекции.
Иерархия наследования
CObList
Требования
Header: afxcoll.h