concurrency (Operadores del espacio de nombres)

Operador operator||

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 T, el resultado de esta función será task<std::vector<T>. Si las tareas de entrada son del tipo void, la tarea de salida también será task<void>.

Comentarios

Si ambas tareas se cancelan o inician excepciones, la tarea devuelta se completará en el estado cancelado y una de las excepciones, si se encuentra alguna, se producirá cuando llame get() a o wait() en esa tarea.

Operador operator&&

Crea una tarea que se completará correctamente cuando las 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 T, el resultado de esta función será task<std::vector<T>>. Si las tareas de entrada son del tipo void, la tarea de salida también será task<void>.

Comentarios

Si una de las tareas se cancela o inicia una excepción, la tarea devuelta finalizará prematuramente con el estado cancelado y la excepción, si se produce una, se iniciará al llamar a get() o wait() en dicha tarea.

operator== Operator

Comprueba si el objeto concurrent_vector en el lado izquierdo del operador es igual al objeto concurrent_vector 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 primer concurrent_vector objeto.

A2
El tipo de asignador del segundo concurrent_vector objeto.

_A
Objeto de tipo concurrent_vector.

_B
Objeto de tipo concurrent_vector.

Valor devuelto

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

Comentarios

Dos vectores concurrentes son iguales si tienen el mismo número de elementos y sus elementos respectivos tienen los mismos valores. Si no se cumplen estas condiciones, significa que son distintas.

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

operator!= Operator

Comprueba si el objeto concurrent_vector en el lado izquierdo del operador no es igual al objeto concurrent_vector 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 primer concurrent_vector objeto.

A2
El tipo de asignador del segundo concurrent_vector objeto.

_A
Objeto de tipo concurrent_vector.

_B
Objeto de tipo concurrent_vector.

Valor devuelto

true si los vectores concurrentes no son iguales; false 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. Si no se cumplen estas condiciones, significa que son distintas.

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

Operador operator<

Comprueba si el objeto concurrent_vector en el lado izquierdo del operador es menor que el objeto concurrent_vector 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 primer concurrent_vector objeto.

A2
El tipo de asignador del segundo concurrent_vector objeto.

_A
Objeto de tipo concurrent_vector.

_B
Objeto de tipo concurrent_vector.

Valor devuelto

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

Comentarios

El comportamiento de este operador es idéntico al operador equivalente para la vector clase del std 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 _A o _B.

Operador operator<=

Comprueba si el objeto concurrent_vector en el lado izquierdo del operador es menor o igual que el objeto concurrent_vector 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 primer concurrent_vector objeto.

A2
El tipo de asignador del segundo concurrent_vector objeto.

_A
Objeto de tipo concurrent_vector.

_B
Objeto de tipo concurrent_vector.

Valor devuelto

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

Comentarios

El comportamiento de este operador es idéntico al operador equivalente para la vector clase del std 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 _A o _B.

Operador operator>

Comprueba si el objeto concurrent_vector en el lado izquierdo del operador es mayor que el objeto concurrent_vector 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 primer concurrent_vector objeto.

A2
El tipo de asignador del segundo concurrent_vector objeto.

_A
Objeto de tipo concurrent_vector.

_B
Objeto de tipo concurrent_vector.

Valor devuelto

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

Comentarios

El comportamiento de este operador es idéntico al operador equivalente para la vector clase del std 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 _A o _B.

Operador operator>=

Comprueba si el objeto concurrent_vector en el lado izquierdo del operador es mayor o igual que el objeto concurrent_vector 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 primer concurrent_vector objeto.

A2
El tipo de asignador del segundo concurrent_vector objeto.

_A
Objeto de tipo concurrent_vector.

_B
Objeto de tipo concurrent_vector.

Valor devuelto

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

Comentarios

El comportamiento de este operador es idéntico al operador equivalente para la vector clase del std 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 _A o _B.

Consulte también

concurrency (espacio de nombres)