Поделиться через


deque (STL/CLR)

Описание объекта класса шаблона, что элементы управления менять- длины последовательность элементов с прямой доступ. Используется контейнер deque для управления последовательность элементов, выглядит как непрерывный блок хранилища, но с может увеличивать или уменьшать на любом конце без необходимости копировать все оставшиеся элементы. Таким образом, он может реализовать эффективно double-ended queue. (Это имя).

В описании ниже, GValue совпадает с Value если здесь не будет ссылочного типа, в случае которого это Value^.

template<typename Value>
    ref class deque
        :   public
        System::ICloneable,
        System::Collections::IEnumerable,
        System::Collections::ICollection,
        System::Collections::Generic::IEnumerable<GValue>,
        System::Collections::Generic::ICollection<GValue>,
        System::Collections::Generic::IList<GValue>,
        Microsoft::VisualC::StlClr::IDeque<GValue>
    { ..... };

Параметры

  • GValue
    Универсальный тип элемента в контролируемой последовательности.

  • Значение
    Тип элемента в управляемой последовательности.

Члены

Определение типа

Описание

deque::const_iterator (STL/CLR)

Тип постоянного итератора для управляемой последовательности.

deque::const_reference (STL/CLR)

Тип постоянной ссылки на элемент.

deque::const_reverse_iterator (STL/CLR)

Тип константы обратного итератора для контролируемой последовательности.

deque::difference_type (STL/CLR)

Тип расстояния со знаком между двумя элементами.

deque::generic_container (STL/CLR)

Тип универсального интерфейса для контейнера.

deque::generic_iterator (STL/CLR)

Тип итератора для универсального интерфейса для контейнера.

deque::generic_reverse_iterator (STL/CLR)

Тип обратного итератора для универсального интерфейса для контейнера.

deque::generic_value (STL/CLR)

Тип элемента для универсального интерфейса для контейнера.

deque::iterator (STL/CLR)

Тип итератора для управляемой последовательности.

deque::reference (STL/CLR)

Тип ссылки на элемент.

deque::reverse_iterator (STL/CLR)

Тип обратного итератора для контролируемой последовательности.

deque::size_type (STL/CLR)

Тип расстояния со знаком между двумя элементами.

deque::value_type (STL/CLR)

Тип элемента.

Функция Member

Описание

deque::assign (STL/CLR)

Заменяет все элементы.

deque::at (STL/CLR)

Получает элемент в указанной позиции.

deque::back (STL/CLR)

Получает последний элемент.

deque::begin (STL/CLR)

Задает начало управляемой последовательности.

deque::clear (STL/CLR)

Удаляет все элементы.

deque::deque (STL/CLR)

Создает объект контейнера.

deque::empty (STL/CLR)

Тесты отсутствуют ли какие-либо элементы.

deque::end (STL/CLR)

Задает конец управляемой последовательности.

deque::erase (STL/CLR)

Удаляет элементы в указанных положениях.

deque::front (STL/CLR)

Получение первого элемента.

deque::insert (STL/CLR)

Добавляет элементы в указанной позиции.

deque::pop_back (STL/CLR)

Удаляет последний элемент.

deque::pop_front (STL/CLR)

Удаляет первый элемент.

deque::push_back (STL/CLR)

Добавляет новый последний элемент.

deque::push_front (STL/CLR)

Добавляет новый первый элемент.

deque::rbegin (STL/CLR)

Задает начало обратной управляемой последовательности.

deque::rend (STL/CLR)

Задает конец обратной управляемой последовательности.

deque::resize (STL/CLR)

Изменяет количество элементов.

deque::size (STL/CLR)

Подсчитывает количество элементов.

deque::swap (STL/CLR)

Меняет местами содержимое двух контейнеров.

deque::to_array (STL/CLR)

Копирует контролируемая последовательность в новый массив.

Свойство

Описание

deque::back_item (STL/CLR)

Получает последний элемент.

deque::front_item (STL/CLR)

Получение первого элемента.

Оператор

Описание

deque::operator!= (STL/CLR)

Определяет, являются ли два объекта deque неравными.

deque::operator[] (STL/CLR)

Получает элемент в указанной позиции.

operator< (deque) (STL/CLR)

Определяет, является ли объект deque меньше другой объект deque.

operator<= (deque) (STL/CLR)

Определяет, является ли объект deque меньше или равно другому объекту deque.

operator= (deque) (STL/CLR)

Заменяет контролируемая последовательность.

operator== (deque) (STL/CLR)

Определяет, является ли объект deque равен другому объекту deque.

operator> (deque) (STL/CLR)

Определяет, является ли объект deque больше другого объекта deque.

operator>= (deque) (STL/CLR)

Определяет, является ли объект deque больше или равно другому объекту deque.

Интерфейсы

Интерфейс

Описание

ICloneable

Дублируйте объект.

IEnumerable

Последовательность между элементами.

ICollection

Обеспечение группу в составе элементы.

IEnumerable

Через последовательность типизированных элементов.

ICollection

Обеспечение группу в составе типизированных элементов.

IList

Maintain является группу в составе типизированных элементов.

IDeque<Value>

Обслуживайте универсальный контейнер.

Заметки

Объект выделяет и освобождает хранилище для последовательности его элементов управления с помощью сохраненного массив дескрипторов, которые определяют блоки элементов Value. Массив увеличивается по требованию. Рост происходит таким образом, что затраты или prepending или добавить новый элемент постоянно время, и никакие оставшиеся элементы не повреждены. Можно также удалить элемент на одном конце при расчете времени и без нарушить остальных элементов. Таким образом, deque хорошим кандидатом для основного контейнера для шаблона класса шаблона класса queue (STL/CLR) или stack (STL/CLR).

Объект deque поддерживает произвольного доступа являются итераторы. это означает, что можно непосредственно ссылается на элемент заданного численную свою позицию, подсчитывая с нуля первого (переднего) элемента, в deque::size (STL/CLR)() - 1 для последнего (заднего) элемента. Это также означает, что deque хорошим кандидатом для основного контейнера для шаблона класса priority_queue (STL/CLR).

Итератор deque хранит дескриптор его связанный объект deque вместе с смещением элемента он указывает. Можно использовать итераторы только со связанными объектами контейнера. Смещение элемента deque not обязательно совпадает с его положения. Введенный первый элемент имеет косое ноль, добавлен следующий элемент имеет косое 1, но следующий; их имена предваряются словами элемент имеет косое -1.

Вставка или стирать элементы на любом конце делают not изменяют значение элемента, хранящегося в любом допустимого смещении. Вставка или стирающ внутренний элемент, однако изменить can значения элемента, хранящегося в заданном смещении, поэтому значение значение итератором также может изменить. (Контейнер может копировать элементы вверх или вниз, чтобы создать передать перед вставкой или заполнить передать после стирания). Однако итератор deque остается допустимым, пока его смещение задает допустимый элемент. Кроме того, допустимый итератор остается dereferencable -- его можно использовать для доступа или изменения значения элемента он обозначает -- при его смещение не равно смещению для итератора возвращаемого end().

Стирающ или удаление элементов вызывает деструктор этого сохраненного значения. Удалить контейнер удаляются все элементы. Таким образом, тип которого контейнер элемента ссылочный класс гарантирует, что никаких элементов не переживают контейнер. Однако стоит отметить, что контейнер дескрипторов делает not уничтожает его элементы.

Требования

Заголовок:<cliext/deque>

Пространство имен: cliext

См. также

Ссылки

list (STL/CLR)

priority_queue (STL/CLR)

queue (STL/CLR)

stack (STL/CLR)

vector (STL/CLR)

Другие ресурсы

Справочник по библиотеке STL/CLR