Compartir a través de


Operadores de espacio de nombres de concurrencia

Los operadores siguientes están disponibles en el espacio de nombres:

Operador

Crea una tarea que se completará correctamente cuando una de las tareas proporcionadas como argumentos se complete correctamente.

template<typename ReturnType>
task<ReturnType> operator||(
    const task<ReturnType>& lhs,
    const task<ReturnType>& rhs);

template<typename ReturnType>
task<std::vector<ReturnType>> operator||(
    const task<std::vector<ReturnType>>& lhs,
    const task<ReturnType>& rhs);

template<typename ReturnType>
task<std::vector<ReturnType>> operator||(
    const task<ReturnType>& lhs,
    const task<std::vector<ReturnType>>& rhs);

inline task<void> operator||(
    const task<void>& lhs,
    const task<void>& rhs);

Parámetros

ReturnType
Tipo de la tarea devuelta.

lhs
Primera tarea que debe combinarse en la tarea resultante.

rhs
Segunda tarea que se va a combinar en la tarea resultante.

Valor devuelto

Tarea que se completa correctamente cuando cualquiera de las tareas de entrada se completa correctamente. Si las tareas de entrada son de tipo , el resultado de esta función será . Si las tareas de entrada son del tipo , la tarea de salida también será .

Comentarios

Si ambas tareas se cancelan o lanzan excepciones, la tarea devuelta se completará con estado cancelado, y una de las excepciones, si se encuentra alguna, se producirá cuando llame a o en esa tarea.

Operador

Crea una tarea que se completará correctamente cuando ambas tareas proporcionadas como argumentos se completen correctamente.

template<typename ReturnType>
task<std::vector<ReturnType>>  operator&&(
    const task<ReturnType>& lhs,
    const task<ReturnType>& rhs);

template<typename ReturnType>
task<std::vector<ReturnType>>  operator&&(
    const task<std::vector<ReturnType>>& lhs,
    const task<ReturnType>& rhs);

template<typename ReturnType>
task<std::vector<ReturnType>>  operator&&(
    const task<ReturnType>& lhs,
    const task<std::vector<ReturnType>>& rhs);

template<typename ReturnType>
task<std::vector<ReturnType>>  operator&&(
    const task<std::vector<ReturnType>>& lhs,
    const task<std::vector<ReturnType>>& rhs);

inline task<void>  operator&&(
    const task<void>& lhs,
    const task<void>& rhs);

Parámetros

ReturnType
Tipo de la tarea devuelta.

lhs
Primera tarea que debe combinarse en la tarea resultante.

rhs
Segunda tarea que se va a combinar en la tarea resultante.

Valor devuelto

Tarea que se completa correctamente cuando ambas tareas de entrada se completan correctamente. Si las tareas de entrada son de tipo , el resultado de esta función será . Si las tareas de entrada son del tipo , la tarea de salida también será .

Comentarios

Si una de las tareas se cancela o lanza una excepción, la tarea devuelta finalizará prematuramente con el estado cancelado, y la excepción, si se produce, se lanzará si se llama a o en esa tarea.

operator== (operador)

Comprueba si el objeto en el lado izquierdo del operador es igual al objeto del lado derecho.

template<typename T, class A1, class A2>
inline bool operator== (
    const concurrent_vector<T, A1>& _A,
    const concurrent_vector<T, A2>& _B);

Parámetros

T
El tipo de datos de los elementos almacenados en los vectores simultáneos.

A1
El tipo de asignador del objeto primero.

A2
El tipo de asignador del segundo objeto.

_A
Objeto de tipo .

_B
Objeto de tipo .

Valor devuelto

si el vector concurrente del lado izquierdo del operador es igual al vector concurrente del lado derecho del operador; en caso contrario .

Comentarios

Dos vectores concurrentes son iguales si tienen el mismo número de elementos y sus elementos respectivos tienen los mismos valores. De lo contrario, son desiguales.

Este método no es seguro para simultaneidad con respecto a otros métodos que podrían modificar cualquiera de los vectores simultáneos o .

operator!= Operador

Comprueba si el objeto en el lado izquierdo del operador no es igual al objeto del lado derecho.

template<typename T, class A1, class A2>
inline bool operator!= (
    const concurrent_vector<T, A1>& _A,
    const concurrent_vector<T, A2>& _B);

Parámetros

T
El tipo de datos de los elementos almacenados en los vectores simultáneos.

A1
El tipo de asignador del objeto primero.

A2
El tipo de asignador del segundo objeto.

_A
Objeto de tipo .

_B
Objeto de tipo .

Valor devuelto

si los vectores concurrentes no son iguales; si los vectores concurrentes son iguales.

Comentarios

Dos vectores concurrentes son iguales si tienen el mismo número de elementos y sus elementos respectivos tienen los mismos valores. De lo contrario, son desiguales.

Este método no es seguro para simultaneidad con respecto a otros métodos que podrían modificar cualquiera de los vectores simultáneos o .

Operador

Comprueba si el objeto en el lado izquierdo del operador es menor que el objeto del lado derecho.

template<typename T, class A1, class A2>
inline bool operator<(
    const concurrent_vector<T, A1>& _A,
    const concurrent_vector<T, A2>& _B);

Parámetros

T
El tipo de datos de los elementos almacenados en los vectores simultáneos.

A1
El tipo de asignador del objeto primero.

A2
El tipo de asignador del segundo objeto.

_A
Objeto de tipo .

_B
Objeto de tipo .

Valor devuelto

si el vector concurrente del lado izquierdo del operador es menor que el vector concurrente del lado derecho del operador; en caso contrario .

Comentarios

El comportamiento de este operador es idéntico al operador equivalente para la clase del espacio de nombres.

Este método no es seguro para simultaneidad con respecto a otros métodos que podrían modificar cualquiera de los vectores simultáneos o .

Operador

Comprueba si el objeto en el lado izquierdo del operador es menor o igual que el objeto del lado derecho.

template<typename T, class A1, class A2>
inline bool operator<= (
    const concurrent_vector<T, A1>& _A,
    const concurrent_vector<T, A2>& _B);

Parámetros

T
El tipo de datos de los elementos almacenados en los vectores simultáneos.

A1
El tipo de asignador del objeto primero.

A2
El tipo de asignador del segundo objeto.

_A
Objeto de tipo .

_B
Objeto de tipo .

Valor devuelto

si el vector concurrente del lado izquierdo del operador es menor o igual que el vector concurrente del lado derecho del operador; en caso contrario .

Comentarios

El comportamiento de este operador es idéntico al operador equivalente para la clase del espacio de nombres.

Este método no es seguro para simultaneidad con respecto a otros métodos que podrían modificar cualquiera de los vectores simultáneos o .

Operador

Comprueba si el objeto en el lado izquierdo del operador es mayor que el objeto del lado derecho.

template<typename T, class A1, class A2>
inline bool operator>(
    const concurrent_vector<T, A1>& _A,
    const concurrent_vector<T, A2>& _B);

Parámetros

T
El tipo de datos de los elementos almacenados en los vectores simultáneos.

A1
El tipo de asignador del objeto primero.

A2
El tipo de asignador del segundo objeto.

_A
Objeto de tipo .

_B
Objeto de tipo .

Valor devuelto

si el vector concurrente del lado izquierdo del operador es menor que el vector concurrente del lado derecho del operador; en caso contrario .

Comentarios

El comportamiento de este operador es idéntico al operador equivalente para la clase del espacio de nombres.

Este método no es seguro para simultaneidad con respecto a otros métodos que podrían modificar cualquiera de los vectores simultáneos o .

Operador

Comprueba si el objeto en el lado izquierdo del operador es mayor o igual que el objeto del lado derecho.

template<typename T, class A1, class A2>
inline bool operator>= (
    const concurrent_vector<T, A1>& _A,
    const concurrent_vector<T, A2>& _B);

Parámetros

T
El tipo de datos de los elementos almacenados en los vectores simultáneos.

A1
El tipo de asignador del objeto primero.

A2
El tipo de asignador del segundo objeto.

_A
Objeto de tipo .

_B
Objeto de tipo .

Valor devuelto

si el vector concurrente del lado izquierdo del operador es mayor o igual que el vector concurrente del lado derecho del operador; en caso contrario .

Comentarios

El comportamiento de este operador es idéntico al operador equivalente para la clase del espacio de nombres.

Este método no es seguro para simultaneidad con respecto a otros métodos que podrían modificar cualquiera de los vectores simultáneos o .

Consulte también

espacio de nombres de concurrencia