Compartilhar via


Classe concurrent_priority_queue

A classe de concurrent_priority_queue é um contêiner que permite que vários threads simultaneamente empurrem e itens aparecem. Os itens são aparecidos em ordem de prioridade em que a prioridade é determinada por um funtor fornecido como um argumento do modelo.

template <
   typename _Ty,
   typename _Compare=std::less<_Ty>,
   typename _Ax = std::allocator<_Ty>
>
, typename _Ax = std::allocator<_Ty> > class concurrent_priority_queue;

Parâmetros

  • _Ty
    O tipo de dados dos elementos a serem armazenados na fila de prioridade.

  • _Compare
    O tipo de objeto de função que pode comparar dois valores do elemento como chaves de tipo para determinar a ordem relativa na fila de prioridade. Esse argumento é opcional e o predicado binário less<_Ty**>** é o valor padrão.

  • _Ax
    O tipo que representa o objeto armazenado do alocador que encapsula detalhes sobre alocação e a desalocação de memória para a fila de prioridade simultâneo. Esse argumento é opcional e o valor padrão é allocator<_Ty**>**.

Membros

Typedefs Públicas

Nome

Descrição

allocator_type

Um tipo que representa a classe do alocador para a fila de prioridade simultâneo.

const_reference

Um tipo que representa uma referência de const a um elemento do tipo armazenadas em uma fila de prioridade simultâneo.

reference

Um tipo que representa uma referência a um elemento do tipo armazenadas em uma fila de prioridade simultâneo.

size_type

Um tipo que conta o número de elementos em uma fila de prioridade simultâneo.

value_type

Um tipo que representa o tipo de dados armazenados em uma fila de prioridade simultâneo.

Construtores Públicos

Nome

Descrição

Construtor concurrent_priority_queue::concurrent_priority_queue

Sobrecarregado. Constrói uma fila de prioridade simultâneo.

Métodos Públicos

Nome

Descrição

Método concurrent_priority_queue::clear

Apaga todos os elementos na prioridade simultâneo. Este método não é seguro em simultaneidade.

Método concurrent_priority_queue::empty

Os testa se a fila de prioridade simultânea estiver vazia no momento em que esse método são chamados. Este método não é seguro em simultaneidade.

Método concurrent_priority_queue::get_allocator

Retorna uma cópia do alocador usado para construir a fila de prioridade simultâneo. Este método não é seguro em simultaneidade.

Método concurrent_priority_queue::push

Sobrecarregado. Adiciona um elemento à fila de prioridade simultâneo. Este método não é seguro em simultaneidade.

Método concurrent_priority_queue::size

Retorna o número de elementos na fila de prioridade simultâneo. Este método não é seguro em simultaneidade.

Método concurrent_priority_queue::swap

Alterna o conteúdo de duas filas de prioridade simultâneas. Este método não é seguro em simultaneidade.

Método concurrent_priority_queue::try_pop

Remove e retorna o elemento a prioridade mais alta da fila se a fila está vazio. Este método não é seguro em simultaneidade.

Operadores Públicos

Nome

Descrição

Operador concurrent_priority_queue::operator=

Sobrecarregado. Atribui o conteúdo de outro objeto concurrent_priority_queue nesse. Este método não é seguro em simultaneidade.

Comentários

Para obter informações detalhadas sobre a classe concurrent_priority_queue, consulte Contêineres e objetos em paralelo.

Hierarquia de Herança

concurrent_priority_queue

Requisitos

Cabeçalho: concurrent_priority_queue.h

Namespace: simultaneidade

Consulte também

Referência

Namespace Concurrency

Conceitos

Contêineres e objetos em paralelo