Share via


Operatori dello spazio dei nomi concurrency

Operatore operator||

Crea un'attività che verrà completata correttamente quando una delle attività fornite come argomenti verranno completate correttamente.

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);

Parametri

Returntype
Tipo dell'attività restituita.

Lhs
La prima attività da combinare nell'attività risultante.

rhs
La seconda attività da combinare nell'attività risultante.

Valore restituito

Attività che viene completata correttamente quando una delle attività di input è stata completata correttamente. Se le attività di input sono di tipo T, l'output di questa funzione sarà task<std::vector<T>. Se le attività di input sono di tipo void, anche l'attività di output sarà task<void>.

Osservazioni:

Se entrambe le attività vengono annullate o se vengono generate eccezioni, lo stato dell'attività restituita sarà impostato su annullato e una delle eventuali eccezioni verrà generata quando si chiama get() o wait() sull'attività in questione.

Operatore operator&&

Crea un'attività che verrà completata correttamente quando entrambe le attività fornite come argomenti vengono completate correttamente.

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);

Parametri

Returntype
Tipo dell'attività restituita.

Lhs
La prima attività da combinare nell'attività risultante.

rhs
La seconda attività da combinare nell'attività risultante.

Valore restituito

Attività che viene completata correttamente quando entrambe le attività di input sono state completate. Se le attività di input sono di tipo T, l'output di questa funzione sarà task<std::vector<T>>. Se le attività di input sono di tipo void, anche l'attività di output sarà task<void>.

Osservazioni:

Se una delle attività viene annullata o genera un'eccezione, l'attività restituita verrà completata in anticipo, nello stato annullato e l'eccezione, se si verifica, verrà generata se si chiama get() o wait() su tale attività.

operator== Operatore

Verifica se l'oggetto concurrent_vector sul lato sinistro dell'operatore è uguale all'oggetto concurrent_vector sul lato destro.

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

Parametri

T
Tipo di dati degli elementi archiviati nei vettori simultanei.

A1
Tipo di allocatore del primo concurrent_vector oggetto.

A2
Tipo di allocatore del secondo concurrent_vector oggetto.

_Un
Oggetto di tipo concurrent_vector.

_B
Oggetto di tipo concurrent_vector.

Valore restituito

true se il vettore simultaneo a sinistra dell'operatore è uguale al vettore simultaneo a destra dell'operatore; in caso contrario false, .

Osservazioni:

Due vettori simultanei sono uguali se hanno lo stesso numero di elementi e i rispettivi elementi hanno gli stessi valori. In caso contrario, non sono uguali.

Questo metodo non è indipendente dalla concorrenza rispetto ad altri metodi che potrebbero modificare uno dei vettori simultanei _A o _B.

operator!= Operatore

Verifica se l'oggetto concurrent_vector sul lato sinistro dell'operatore non è uguale all'oggetto concurrent_vector sul lato destro.

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

Parametri

T
Tipo di dati degli elementi archiviati nei vettori simultanei.

A1
Tipo di allocatore del primo concurrent_vector oggetto.

A2
Tipo di allocatore del secondo concurrent_vector oggetto.

_Un
Oggetto di tipo concurrent_vector.

_B
Oggetto di tipo concurrent_vector.

Valore restituito

true se i vettori simultanei non sono uguali; false se i vettori simultanei sono uguali.

Osservazioni:

Due vettori simultanei sono uguali se hanno lo stesso numero di elementi e i rispettivi elementi hanno gli stessi valori. In caso contrario, non sono uguali.

Questo metodo non è indipendente dalla concorrenza rispetto ad altri metodi che potrebbero modificare uno dei vettori simultanei _A o _B.

Operatore operator<

Verifica se l'oggetto concurrent_vector sul lato sinistro dell'operatore è minore dell'oggetto concurrent_vector sul lato destro.

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

Parametri

T
Tipo di dati degli elementi archiviati nei vettori simultanei.

A1
Tipo di allocatore del primo concurrent_vector oggetto.

A2
Tipo di allocatore del secondo concurrent_vector oggetto.

_Un
Oggetto di tipo concurrent_vector.

_B
Oggetto di tipo concurrent_vector.

Valore restituito

true se il vettore simultaneo a sinistra dell'operatore è minore del vettore simultaneo a destra dell'operatore; in caso contrario false, .

Osservazioni:

Il comportamento di questo operatore è identico all'operatore equivalente per la vector classe nello spazio dei std nomi .

Questo metodo non è indipendente dalla concorrenza rispetto ad altri metodi che potrebbero modificare uno dei vettori simultanei _A o _B.

Operatore operator<=

Verifica se l'oggetto concurrent_vector sul lato sinistro dell'operatore è minore o uguale all'oggetto concurrent_vector sul lato destro.

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

Parametri

T
Tipo di dati degli elementi archiviati nei vettori simultanei.

A1
Tipo di allocatore del primo concurrent_vector oggetto.

A2
Tipo di allocatore del secondo concurrent_vector oggetto.

_Un
Oggetto di tipo concurrent_vector.

_B
Oggetto di tipo concurrent_vector.

Valore restituito

true se il vettore simultaneo a sinistra dell'operatore è minore o uguale al vettore simultaneo a destra dell'operatore; in caso contrario false, .

Osservazioni:

Il comportamento di questo operatore è identico all'operatore equivalente per la vector classe nello spazio dei std nomi .

Questo metodo non è indipendente dalla concorrenza rispetto ad altri metodi che potrebbero modificare uno dei vettori simultanei _A o _B.

Operatore operator>

Verifica se l'oggetto concurrent_vector sul lato sinistro dell'operatore è maggiore dell'oggetto concurrent_vector sul lato destro.

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

Parametri

T
Tipo di dati degli elementi archiviati nei vettori simultanei.

A1
Tipo di allocatore del primo concurrent_vector oggetto.

A2
Tipo di allocatore del secondo concurrent_vector oggetto.

_Un
Oggetto di tipo concurrent_vector.

_B
Oggetto di tipo concurrent_vector.

Valore restituito

true se il vettore simultaneo a sinistra dell'operatore è maggiore del vettore simultaneo a destra dell'operatore; in caso contrario false, .

Osservazioni:

Il comportamento di questo operatore è identico all'operatore equivalente per la vector classe nello spazio dei std nomi .

Questo metodo non è indipendente dalla concorrenza rispetto ad altri metodi che potrebbero modificare uno dei vettori simultanei _A o _B.

Operatore operator>=

Verifica se l'oggetto concurrent_vector sul lato sinistro dell'operatore è maggiore o uguale all'oggetto concurrent_vector sul lato destro.

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

Parametri

T
Tipo di dati degli elementi archiviati nei vettori simultanei.

A1
Tipo di allocatore del primo concurrent_vector oggetto.

A2
Tipo di allocatore del secondo concurrent_vector oggetto.

_Un
Oggetto di tipo concurrent_vector.

_B
Oggetto di tipo concurrent_vector.

Valore restituito

true se il vettore simultaneo a sinistra dell'operatore è maggiore o uguale al vettore simultaneo a destra dell'operatore; in caso contrario false, .

Osservazioni:

Il comportamento di questo operatore è identico all'operatore equivalente per la vector classe nello spazio dei std nomi .

Questo metodo non è indipendente dalla concorrenza rispetto ad altri metodi che potrebbero modificare uno dei vettori simultanei _A o _B.

Vedi anche

Spazio dei nomi concurrency