Partilhar via


Namespace de concorrência: Operadores

Os seguintes operadores estão disponíveis no namespace:

Operador

Cria uma tarefa que será concluída com sucesso quando qualquer uma das tarefas fornecidas como argumentos for concluída com sucesso.

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
O tipo de tarefa devolvida.

LHS
A primeira tarefa a combinar na tarefa resultante.

RHS
A segunda tarefa deve ser combinada na tarefa resultante.

Valor de retorno

Uma tarefa que se completa com sucesso quando qualquer uma das tarefas de entrada é concluída com sucesso. Se as tarefas de entrada forem do tipo , a saída desta função será um . Se as tarefas de entrada forem do tipo a tarefa de saída também será um .

Observações

Se ambas as tarefas forem canceladas ou lançarem exceções, a tarefa devolvida será finalizada em estado de cancelamento, e uma das exceções, caso alguma ocorra, será lançada quando chamar ou sobre essa tarefa.

Operador

Cria uma tarefa que será concluída com sucesso quando ambas as tarefas fornecidas como argumentos forem concluídas com sucesso.

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
O tipo de tarefa devolvida.

LHS
A primeira tarefa a combinar na tarefa resultante.

RHS
A segunda tarefa deve ser combinada na tarefa resultante.

Valor de retorno

Uma tarefa que se completa com sucesso quando ambas as tarefas de entrada forem concluídas com sucesso. Se as tarefas de entrada forem do tipo , a saída desta função será um . Se as tarefas de entrada forem do tipo a tarefa de saída também será um .

Observações

Se uma das tarefas for cancelada ou lançar uma exceção, a tarefa resultante será terminada mais cedo, no estado cancelado, e a exceção, se ocorrer, será lançada se invocar ou nesse contexto.

operador== Operador

Testa se o objeto do lado esquerdo do operador é igual ao objeto do lado direito.

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
O tipo de dados dos elementos armazenados nos vetores simultâneos.

A1
O tipo de alocador do primeiro objeto .

A2
O tipo de alocador do objeto segundo.

_A
Um objeto do tipo .

_B
Um objeto do tipo .

Valor de retorno

se o vetor concorrente no lado esquerdo do operador for igual ao vetor concorrente do lado direito do operador; caso contrário .

Observações

Dois vetores concorrentes são iguais se tiverem o mesmo número de elementos e os respetivos elementos tiverem os mesmos valores. Caso contrário, são desiguais.

Este método não é seguro para concorrência em relação a outros métodos que possam modificar qualquer um dos vetores concorrentes ou .

operator!= Operador

Testa se o objeto do lado esquerdo do operador não é igual ao objeto do lado direito.

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
O tipo de dados dos elementos armazenados nos vetores simultâneos.

A1
O tipo de alocador do primeiro objeto .

A2
O tipo de alocador do objeto segundo.

_A
Um objeto do tipo .

_B
Um objeto do tipo .

Valor de retorno

se os vetores concorrentes não forem iguais; se os vetores concorrentes forem iguais.

Observações

Dois vetores concorrentes são iguais se tiverem o mesmo número de elementos e os respetivos elementos tiverem os mesmos valores. Caso contrário, são desiguais.

Este método não é seguro para concorrência em relação a outros métodos que possam modificar qualquer um dos vetores concorrentes ou .

Operador

Testa se o objeto do lado esquerdo do operador é menor do que o objeto do lado direito.

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
O tipo de dados dos elementos armazenados nos vetores simultâneos.

A1
O tipo de alocador do primeiro objeto .

A2
O tipo de alocador do objeto segundo.

_A
Um objeto do tipo .

_B
Um objeto do tipo .

Valor de retorno

se o vetor concorrente do lado esquerdo do operador for menor do que o vetor concorrente do lado direito do operador; caso contrário .

Observações

O comportamento deste operador é idêntico ao operador equivalente para a classe no namespace.

Este método não é seguro para concorrência em relação a outros métodos que possam modificar qualquer um dos vetores concorrentes ou .

Operador

Testa se o objeto do lado esquerdo do operador é menor ou igual ao objeto do lado direito.

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
O tipo de dados dos elementos armazenados nos vetores simultâneos.

A1
O tipo de alocador do primeiro objeto .

A2
O tipo de alocador do objeto segundo.

_A
Um objeto do tipo .

_B
Um objeto do tipo .

Valor de retorno

se o vetor concorrente no lado esquerdo do operador for menor ou igual ao vetor concorrente do lado direito do operador; caso contrário .

Observações

O comportamento deste operador é idêntico ao operador equivalente para a classe no namespace.

Este método não é seguro para concorrência em relação a outros métodos que possam modificar qualquer um dos vetores concorrentes ou .

Operador

Testa se o objeto do lado esquerdo do operador é maior do que o objeto do lado direito.

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
O tipo de dados dos elementos armazenados nos vetores simultâneos.

A1
O tipo de alocador do primeiro objeto .

A2
O tipo de alocador do objeto segundo.

_A
Um objeto do tipo .

_B
Um objeto do tipo .

Valor de retorno

se o vetor concorrente do lado esquerdo do operador for maior do que o vetor concorrente do lado direito do operador; caso contrário .

Observações

O comportamento deste operador é idêntico ao operador equivalente para a classe no namespace.

Este método não é seguro para concorrência em relação a outros métodos que possam modificar qualquer um dos vetores concorrentes ou .

Operador

Testa se o objeto do lado esquerdo do operador é maior ou igual ao objeto do lado direito.

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
O tipo de dados dos elementos armazenados nos vetores simultâneos.

A1
O tipo de alocador do primeiro objeto .

A2
O tipo de alocador do objeto segundo.

_A
Um objeto do tipo .

_B
Um objeto do tipo .

Valor de retorno

se o vetor concorrente no lado esquerdo do operador for maior ou igual ao vetor concorrente do lado direito do operador; caso contrário .

Observações

O comportamento deste operador é idêntico ao operador equivalente para a classe no namespace.

Este método não é seguro para concorrência em relação a outros métodos que possam modificar qualquer um dos vetores concorrentes ou .

Consulte também

concorrência Namespace