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.
R2
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 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.
R2
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.
R2
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 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.
R2
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 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.
R2
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 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.
R2
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 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
.