Compartir a través de


concurrent_priority_queue (Clase)

La clase concurrent_priority_queue es un contenedor que permite que varios subprocesos inserten y extraigan elementos de forma simultánea. Los elementos se extraen en orden de prioridad donde la prioridad viene determinada por un functor proporcionado como un argumento de plantilla.

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
    El tipo de datos de los elementos que se van a almacenar en la cola de prioridad.

  • _Compare
    El tipo de objeto de la función que puede comparar dos valores de elemento como criterio de ordenación para determinar el orden relativo en la cola de prioridad. Este argumento es opcional y el predicado binario less<_Ty**>** es el valor predeterminado.

  • _Ax
    El tipo que representa el objeto almacenado de asignador que encapsula los detalles sobre la asignación y la desasignación de memoria para la cola de prioridad simultánea. Este argumento es opcional y el valor predeterminado es allocator<_Ty**>**.

Miembros

Typedefs públicas

Name

Descripción

allocator_type

Un tipo que representa la clase del asignador de la cola de prioridad simultánea.

const_reference

Un tipo que representa una referencia const a un elemento del tipo almacenados en una cola de prioridad simultánea.

reference

Un tipo que representa una referencia a un elemento del tipo almacenados en una cola de prioridad simultánea.

size_type

Un tipo que cuenta el número de elementos en una cola de prioridad simultánea.

value_type

Un tipo que representa el tipo de datos almacenados en una cola de prioridad simultánea.

Constructores públicos

Name

Descripción

concurrent_priority_queue::concurrent_priority_queue (Constructor)

Sobrecargado. Crea una cola de prioridad simultánea.

Métodos públicos

Name

Descripción

concurrent_priority_queue::clear (Método)

Borra todos los elementos de prioridad simultánea. Este método no es seguro para la simultaneidad.

concurrent_priority_queue::empty (Método)

Denominarse pruebas si la cola de prioridad simultánea está vacía en el momento de este método. Este método es seguro para simultaneidad.

concurrent_priority_queue::get_allocator (Método)

Devuelve una copia del asignador utilizado para crear la cola de prioridad simultánea. Este método es seguro para simultaneidad.

concurrent_priority_queue::push (Método)

Sobrecargado. Agrega un elemento a la cola de prioridad simultánea. Este método es seguro para simultaneidad.

concurrent_priority_queue::size (Método)

Devuelve el número de elementos en la cola de prioridad simultánea. Este método es seguro para simultaneidad.

concurrent_priority_queue::swap (Método)

Cambia el contenido de dos colas de prioridad simultáneas. Este método no es seguro para la simultaneidad.

concurrent_priority_queue::try_pop (Método)

Quita y devuelve el elemento más prioritario de la cola si la cola no está vacío. Este método es seguro para simultaneidad.

Operadores públicos

Name

Descripción

concurrent_priority_queue::operator= (Operador)

Sobrecargado. Asigna el contenido de otro objeto concurrent_priority_queue a este. Este método no es seguro para la simultaneidad.

Comentarios

Para obtener información detallada sobre la clase concurrent_priority_queue, vea Contenedores y objetos paralelos.

Jerarquía de herencia

concurrent_priority_queue

Requisitos

Encabezado: concurrent_priority_queue.h

Espacio de nombres: simultaneidad

Vea también

Referencia

concurrency (Espacio de nombres)

Conceptos

Contenedores y objetos paralelos