Partilhar via


deque (STL/CLR)

A classe do modelo descreve um objeto que controla uma sequência de variar- comprimento dos elementos que tem de acesso aleatório. Você usa o contêiner deque para gerenciar uma sequência de elementos que observa como um bloco contínuo de armazenamento, mas que pode crescer ou encolher em uma ou outra extremidade sem a necessidade de copiar todos os elementos restantes. Isso pode implementar com eficiência double-ended queue. (Como o nome.)

Na descrição abaixo, GValue é o mesmo que Value a menos que o último é um tipo de referência, nesse caso é 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>
    { ..... };

Parâmetros

  • GValue
    O tipo genérico de um elemento na sequência controlada.

  • Valor
    O tipo de um elemento na sequência controlada.

Membros

Definição de tipo

Descrição

deque::const_iterator (STL/CLR)

O tipo de um iterador de constante para a sequência controlada.

deque::const_reference (STL/CLR)

O tipo de uma referência constante para um elemento.

deque::const_reverse_iterator (STL/CLR)

O tipo de um iterador invertido constante para a sequência controlada.

deque::difference_type (STL/CLR)

O tipo de uma distância assinada entre dois elementos.

deque::generic_container (STL/CLR)

O tipo de interface genérica para o contêiner.

deque::generic_iterator (STL/CLR)

O tipo de um iterador para a interface genérica para o contêiner.

deque::generic_reverse_iterator (STL/CLR)

O tipo de um iterador de cima para baixo para a interface genérica para o contêiner.

deque::generic_value (STL/CLR)

O tipo de um elemento para a interface genérica para o contêiner.

deque::iterator (STL/CLR)

O tipo de um iterador para a sequência controlada.

deque::reference (STL/CLR)

O tipo de uma referência para um elemento.

deque::reverse_iterator (STL/CLR)

O tipo de um iterador de cima para baixo para a sequência controlada.

deque::size_type (STL/CLR)

O tipo de uma distância assinada entre dois elementos.

deque::value_type (STL/CLR)

O tipo de um elemento.

Função de membro

Descrição

deque::assign (STL/CLR)

Substitui todos os elementos.

deque::at (STL/CLR)

Acessa um elemento em uma posição especificada.

deque::back (STL/CLR)

Acessa o elemento pela última vez.

deque::begin (STL/CLR)

Designa o início da sequência controlada.

deque::clear (STL/CLR)

Remove todos os elementos.

deque::deque (STL/CLR)

Cria um objeto contêiner.

deque::empty (STL/CLR)

Testa se nenhum elemento estiver presente.

deque::end (STL/CLR)

Designa o término da sequência controlada.

deque::erase (STL/CLR)

Remove os elementos nas posições especificadas.

deque::front (STL/CLR)

Acessa o primeiro elemento.

deque::insert (STL/CLR)

Adiciona os elementos em uma posição especificada.

deque::pop_back (STL/CLR)

Remove o elemento pela última vez.

deque::pop_front (STL/CLR)

Remove o primeiro elemento.

deque::push_back (STL/CLR)

Adiciona um novo elemento a última vez.

deque::push_front (STL/CLR)

Adiciona um novo primeiro elemento.

deque::rbegin (STL/CLR)

Designa o início da sequência controlada invertida.

deque::rend (STL/CLR)

Designa o término da sequência controlada invertida.

deque::resize (STL/CLR)

Altera o número de elementos.

deque::size (STL/CLR)

Conta o número de elementos.

deque::swap (STL/CLR)

Alterna o conteúdo de dois contêineres.

deque::to_array (STL/CLR)

Copia a sequência controlada a uma nova matriz.

Propriedade

Descrição

deque::back_item (STL/CLR)

Acessa o elemento pela última vez.

deque::front_item (STL/CLR)

Acessa o primeiro elemento.

Operador

Descrição

deque::operator!= (STL/CLR)

Determina se dois objetos de deque não são iguais.

deque::operator[] (STL/CLR)

Acessa um elemento em uma posição especificada.

operador< (deque) (STL/CLR)

Determina se um objeto de deque é menor que outro objeto de deque .

operador<= (deque) (STL/CLR)

Determina se um objeto de deque é menor ou igual a outro objeto de deque .

operador= (deque) (STL/CLR)

Substitui a sequência controlada.

operador== (deque) (STL/CLR)

Determina se um objeto de deque é igual a outro objeto de deque .

operador> (deque) (STL/CLR)

Determina se um objeto de deque é maior que outro objeto de deque .

operador>= (deque) (STL/CLR)

Determina se um objeto de deque é maior ou igual a outro objeto de deque .

Interfaces

Interface

Descrição

ICloneable

Duplica um objeto.

IEnumerable

Sequência por meio dos elementos.

ICollection

Mantenha o grupo de elementos.

IEnumerable

Sequência por meio dos elementos digitados.

ICollection

Mantenha o grupo de elementos de tipo.

IList

Manter ordenou o grupo de elementos de tipo.

IDequeValue<>

Mantenha o contêiner genérico.

Comentários

O objeto aloca e libera armazenamento para a sequência que controla armazenada com uma matriz de identificadores que blocos designados de elementos de Value . A matriz cresce sob demanda. O crescimento ocorre de forma que o custo de acrescentando ou acrescentar um novo elemento de hora são constantes, e nenhum elemento restante é perturbado. Você também pode remover um elemento em uma ou outra extremidade no momento, constantes e sem os outros elementos de perturbação. Assim, um deque é uma boa candidata para o contêiner subjacente da classe queue (STL/CLR) do modelo ou a classe stack (STL/CLR)do modelo.

Um objeto de deque oferece suporte aos iteradores de acesso aleatório, que significa você pode recorrer a um determinado elemento diretamente a posição numérica, contando de zero do primeiro elemento () para a frente, a deque::size (STL/CLR)() - 1 para o elemento () na última vez. Também significa que um deque é uma boa candidata para o contêiner subjacente da classe priority_queue (STL/CLR)do modelo.

Um iterador de deque armazena um identificador para o objeto associado de deque, junto com a diferença que designa do elemento. Você pode usar iteradores apenas com seus objetos de contêiner associados. A diferença de um elemento de deque not é necessariamente o mesmo que sua posição. O primeiro elemento inserido tem zeros diagonal, o elemento anexado seguir tem 1 diagonal, mas o elemento é pré-anexado a seguir tem -1 diagonal.

Inserir ou apagar os elementos em uma ou outra extremidade fazem not altere o valor de um elemento armazenado em qualquer diferença válido. Inserindo ou apagando um elemento dentro, no entanto, a alteração de can o valor do elemento armazenado em uma diferença determinada, assim o valor designado por um iterador também pode ser alterada. (O contêiner pode ter que copiar para cima ou para baixo nos elementos para criar um orifício antes de uma inserção ou para preencher um orifício depois de um erase.) Entretanto, um iterador de deque permanece válido desde que a tendência designa um elemento válido. Além disso, um iterador permanece válido dereferencable -- você pode usá-lo para acessar ou modificar o valor do elemento que designa -- desde que a tendência é diferente da tendência para o iterador retornado por end().

Apagando ou removendo um elemento chama o destruidor para seu valor armazenado. Destruir o contêiner apaga todos os elementos. Assim, um contêiner cujo tipo de elemento é uma classe de referência garante que nenhum elemento é maior que o contêiner. A observe, entretanto, que manipula um contêiner faz not destrói seus elementos.

Requisitos

Cabeçalho: <cliext/deque>

cliext deNamespace:

Consulte também

Referência

list (STL/CLR)

priority_queue (STL/CLR)

queue (STL/CLR)

stack (STL/CLR)

vector (STL/CLR)

Outros recursos

Referência de biblioteca STL/CLR