Operatorer för samtidighetsnamnområde

Följande operatorer är tillgängliga i namnområdet:

Operatör

Skapar en uppgift som slutförs när någon av de uppgifter som anges som argument slutförs.

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

Parameterar

ReturnType
Typen av den returnerade uppgiften.

Lhs
Den första uppgiften som ska kombineras till den resulterande aktiviteten.

Rhs
Den andra uppgiften som ska kombineras till den resulterande aktiviteten.

Returvärde

En uppgift som slutförs framgångsrikt när någon av inputuppgifterna har slutförts framgångsrikt. Om indatauppgifterna är av typen blir utdata för den här funktionen en . Om indatauppgifterna är av typen blir utdatauppgiften också en .

Anmärkningar

Om båda aktiviteterna avbryts eller utlöser undantag slutförs den returnerade aktiviteten i avbrutet tillstånd, och ett av undantagen, om något påträffas, utlöses när du anropar eller på den uppgiften.

Operatör

Skapar en uppgift som framgångsrikt slutförs när båda de uppgifter som anges som argument slutförs framgångsrikt.

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

Parameterar

ReturnType
Typen av den returnerade uppgiften.

Lhs
Den första uppgiften som ska kombineras till den resulterande aktiviteten.

Rhs
Den andra uppgiften som ska kombineras till den resulterande aktiviteten.

Returvärde

En uppgift som slutförs framgångsrikt när båda indatauppgifterna har slutförts framgångsrikt. Om indatauppgifterna är av typen blir utdata för den här funktionen en . Om indatauppgifterna är av typen blir utdatauppgiften också en .

Anmärkningar

Om en av aktiviteterna avbryts eller utlöser ett undantag, slutförs den returnerade aktiviteten tidigt, i avbrutet tillstånd, och undantaget, om en inträffar, utlöses om du anropar eller på den uppgiften.

operator== Operatör

Testar om -objektet till vänster om operatorn är lika med -objektet till höger.

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

Parameterar

T
Datatypen för de element som lagras i de samtidiga vektorerna.

A1
Allokeringstypen för det första objektet.

A2
Allokeringstypen för det andra objektet.

_A
Ett objekt av typen .

_B
Ett objekt av typen .

Returvärde

Om den samtidiga vektorn till vänster om operatorn är lika med den samtidiga vektorn till höger om operatorn, annars .

Anmärkningar

Två samtidiga vektorer är lika om de har samma antal element och deras respektive element har samma värden. Annars är de ojämlika.

Den här metoden är inte samtidighetssäker med avseende på andra metoder som kan ändra någon av de samtidiga vektorerna eller .

operator!= Operator

Testar om objektet till vänster om operatorn är inte lika med objektet till höger.

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

Parameterar

T
Datatypen för de element som lagras i de samtidiga vektorerna.

A1
Allokeringstypen för det första objektet.

A2
Allokeringstypen för det andra objektet.

_A
Ett objekt av typen .

_B
Ett objekt av typen .

Returvärde

om de samtidiga vektorerna inte är lika; om de samtidiga vektorerna är lika med varandra.

Anmärkningar

Två samtidiga vektorer är lika om de har samma antal element och deras respektive element har samma värden. Annars är de ojämlika.

Den här metoden är inte samtidighetssäker med avseende på andra metoder som kan ändra någon av de samtidiga vektorerna eller .

Operatör

Testar om objektet till vänster om operatorn är mindre än objektet till höger.

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

Parameterar

T
Datatypen för de element som lagras i de samtidiga vektorerna.

A1
Allokeringstypen för det första objektet.

A2
Allokeringstypen för det andra objektet.

_A
Ett objekt av typen .

_B
Ett objekt av typen .

Returvärde

om den samtidiga vektorn till vänster om operatorn är mindre än den samtidiga vektorn till höger om operatorn, annars .

Anmärkningar

Beteendet för den här operatorn är identiskt med motsvarande operator för klassen i namnområdet.

Den här metoden är inte samtidighetssäker med avseende på andra metoder som kan ändra någon av de samtidiga vektorerna eller .

Operatör

Testar om objektet till vänster om operatorn är mindre än eller lika med objektet till höger.

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

Parameterar

T
Datatypen för de element som lagras i de samtidiga vektorerna.

A1
Allokeringstypen för det första objektet.

A2
Allokeringstypen för det andra objektet.

_A
Ett objekt av typen .

_B
Ett objekt av typen .

Returvärde

om den samtidiga vektorn till vänster om operatorn är mindre än eller lika med den samtidiga vektorn till höger om operatorn, annars .

Anmärkningar

Beteendet för den här operatorn är identiskt med motsvarande operator för klassen i namnområdet.

Den här metoden är inte samtidighetssäker med avseende på andra metoder som kan ändra någon av de samtidiga vektorerna eller .

Operatör

Testar om objektet till vänster om operatorn är större än objektet till höger.

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

Parameterar

T
Datatypen för de element som lagras i de samtidiga vektorerna.

A1
Allokeringstypen för det första objektet.

A2
Allokeringstypen för det andra objektet.

_A
Ett objekt av typen .

_B
Ett objekt av typen .

Returvärde

Om den samtidiga vektorn till vänster om operatorn är större än den samtidiga vektorn till höger om operatorn, annars .

Anmärkningar

Beteendet för den här operatorn är identiskt med motsvarande operator för klassen i namnområdet.

Den här metoden är inte samtidighetssäker med avseende på andra metoder som kan ändra någon av de samtidiga vektorerna eller .

Operatör

Testar om objektet till vänster om operatorn är större än eller lika med objektet till höger.

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

Parameterar

T
Datatypen för de element som lagras i de samtidiga vektorerna.

A1
Allokeringstypen för det första objektet.

A2
Allokeringstypen för det andra objektet.

_A
Ett objekt av typen .

_B
Ett objekt av typen .

Returvärde

om den samtidiga vektorn till vänster om operatorn är större än eller lika med den samtidiga vektorn till höger om operatorn, annars .

Anmärkningar

Beteendet för den här operatorn är identiskt med motsvarande operator för klassen i namnområdet.

Den här metoden är inte samtidighetssäker med avseende på andra metoder som kan ändra någon av de samtidiga vektorerna eller .

Se även

namnområde för samtidighet