Clase concurrent_vector

La clase concurrent_vector es una clase de contenedor de secuencia que permite el acceso aleatorio a cualquier elemento. Habilita las operaciones de anexión segura para simultaneidad, acceso de elemento, acceso de iterador e iterador transversal.

template<
   typename _Ty,
   class _Ax
>
class concurrent_vector: protected details::_Allocator_base<_Ty, _Ax>, private details::_Concurrent_vector_base_v4;

Parámetros

  • _Ty
    Tipo de datos de los elementos que se van a almacenar en el vector.

  • _Ax
    El tipo que representa el objeto de asignador almacenado que encapsula los detalles acerca de la asignación y desasignación de memoria para el vector simultáneo. 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 de asignador del vector simultáneo.

const_iterator

Un tipo que proporciona un iterador de acceso aleatorio que puede leer un elemento const en un vector simultáneo.

const_pointer

Un tipo que proporciona un puntero a un elemento const de un vector simultáneo.

const_reference

Un tipo que proporciona una referencia a un elemento const almacenado en un vector simultáneo para leer y realizar operaciones const.

const_reverse_iterator

Un tipo que proporciona un iterador de acceso aleatorio que puede leer cualquier elemento const en el vector simultáneo.

difference_type

Un tipo que proporciona la distancia firmada entre dos elementos en un vector simultáneo.

iterator

Un tipo que proporciona un iterador de acceso aleatorio que puede leer cualquier elemento en un vector simultáneo. La modificación de un elemento usando el iterador no es segura para simultaneidad.

pointer

Un tipo que proporciona un puntero a un elemento de un vector simultáneo.

reference

Un tipo que proporciona una referencia a un elemento almacenado en un vector simultáneo.

reverse_iterator

Un tipo que proporciona un iterador de acceso aleatorio que puede leer cualquier elemento en un vector simultáneo inverso. La modificación de un elemento usando el iterador no es segura para simultaneidad.

size_type

Un tipo que cuenta el número de elementos en un vector simultáneo.

value_type

Un tipo que representa el tipo de datos almacenados en un vector simultáneo.

Constructores públicos

Name

Descripción

concurrent_vector::concurrent_vector (Constructor)

Sobrecargado. Construye un vector simultáneo.

concurrent_vector::~concurrent_vector (Destructor)

Borra todos los elementos y destruye este vector simultáneo.

Métodos públicos

Name

Descripción

concurrent_vector::assign (Método)

Sobrecargado. Borra los elementos del vector simultáneo y le asigna todas las copias _N de _Item o los valores especificados por el intervalo de iterador [_Begin, _End). Este método no es seguro para simultaneidad.

concurrent_vector::at (Método)

Sobrecargado. Proporciona acceso al elemento en el índice especificado del vector simultáneo. Este método es seguro para simultaneidad en las operaciones de lectura y también durante el aumento del vector, siempre que se haya asegurado de que el valor _Index es menor que el tamaño del vector simultáneo.

concurrent_vector::back (Método)

Sobrecargado. Devuelve una referencia o una referencia const al último elemento del vector simultáneo. Si el vector simultáneo está vacío, el valor devuelto es undefined. Este método es seguro para simultaneidad.

concurrent_vector::begin (Método)

Sobrecargado. Devuelve un iterador de tipo iterator o const_iterator al principio del vector simultáneo. Este método es seguro para simultaneidad.

concurrent_vector::capacity (Método)

Devuelve el tamaño máximo que puede alcanzar el vector simultáneo sin tener que asignar más memoria. Este método es seguro para simultaneidad.

concurrent_vector::cbegin (Método)

Devuelve un iterador de tipo const_iterator al principio del vector simultáneo. Este método es seguro para simultaneidad.

concurrent_vector::cend (Método)

Devuelve un iterador de tipo const_iterator al final del vector simultáneo. Este método es seguro para simultaneidad.

concurrent_vector::clear (Método)

Borra todos los elementos del vector simultáneo. Este método no es seguro para simultaneidad.

concurrent_vector::crbegin (Método)

Devuelve un iterador de tipo const_reverse_iterator al principio del vector simultáneo. Este método es seguro para simultaneidad.

concurrent_vector::crend (Método)

Devuelve un iterador de tipo const_reverse_iterator al final del vector simultáneo. Este método es seguro para simultaneidad.

concurrent_vector::empty (Método)

Comprueba si el vector simultáneo está vacío en el momento al que se llama a este método. Este método es seguro para simultaneidad.

concurrent_vector::end (Método)

Sobrecargado. Devuelve un iterador de tipo iterator o const_iterator al final del vector simultáneo. Este método es seguro para simultaneidad.

concurrent_vector::front (Método)

Sobrecargado. Devuelve una referencia o una referencia const al primer elemento del vector simultáneo. Si el vector simultáneo está vacío, el valor devuelto es undefined. Este método es seguro para simultaneidad.

concurrent_vector::get_allocator (Método)

Devuelve una copia del asignador usada para construir el vector simultáneo. Este método es seguro para simultaneidad.

concurrent_vector::grow_by (Método)

Sobrecargado. Aumenta este vector simultáneo mediante elementos _Delta. Este método es seguro para simultaneidad.

concurrent_vector::grow_to_at_least (Método)

Aumenta este vector simultáneo hasta tener al menos elementos _N. Este método es seguro para simultaneidad.

concurrent_vector::max_size (Método)

Devuelve el número máximo de elementos que el vector simultáneo puede contener. Este método es seguro para simultaneidad.

concurrent_vector::push_back (Método)

Anexa el elemento determinado al final del vector simultáneo. Este método es seguro para simultaneidad.

concurrent_vector::rbegin (Método)

Sobrecargado. Devuelve un iterador de tipo reverse_iterator o const_reverse_iterator al principio del vector simultáneo. Este método es seguro para simultaneidad.

concurrent_vector::rend (Método)

Sobrecargado. Devuelve un iterador de tipo reverse_iterator o const_reverse_iterator al final del vector simultáneo. Este método es seguro para simultaneidad.

concurrent_vector::reserve (Método)

Asigna espacio suficiente para que el vector simultáneo obtenga el tamaño necesario para dimensionar _N sin tener que asignar más memoria después. Este método no es seguro para simultaneidad.

concurrent_vector::resize (Método)

Sobrecargado. Cambia el tamaño del vector simultáneo al tamaño solicitado, eliminando o agregando elementos según sea necesario. Este método no es seguro para simultaneidad.

concurrent_vector::shrink_to_fit (Método)

Compacta la representación interna del vector simultáneo para reducir la fragmentación y optimizar la utilización de memoria.

concurrent_vector::size (Método)

Devuelve el número de elementos en un vector simultáneo. Este método es seguro para simultaneidad.

concurrent_vector::swap (Método)

Intercambia el contenido de dos vectores simultáneos. Este método no es seguro para simultaneidad.

Operadores públicos

Name

Descripción

concurrent_vector::operator[] (Operador)

Sobrecargado. Proporciona acceso al elemento en el índice especificado del vector simultáneo. Este método es seguro para simultaneidad en las operaciones de lectura y también durante el aumento del vector, siempre que se haya asegurado de que el valor _Index es menor que el tamaño del vector simultáneo.

concurrent_vector::operator= (Operador)

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

Comentarios

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

Jerarquía de herencia

_Allocator_base

_Concurrent_vector_base_v4

concurrent_vector

Requisitos

Encabezado: concurrent_vector.h

Espacio de nombres: Simultaneidad

Vea también

Referencia

Espacio de nombres de simultaneidad

Conceptos

Contenedores y objetos paralelos