Sdílet prostřednictvím


concurrency – operátory oboru názvů

operator|| – operátor

Vytvoří úlohu, která se úspěšně dokončí, když se úspěšně dokončí některý z úkolů zadaných jako argumenty.

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

Parametry

Returntype
Typ vráceného úkolu.

Lhs
První úkol, který se má sloučit do výsledného úkolu.

rhs
Druhý úkol, který se má sloučit do výsledného úkolu.

Vrácená hodnota

Úkol, který se úspěšně dokončí po úspěšném dokončení některého ze vstupních úkolů. Pokud jsou vstupní úkoly typu T, výstupem této funkce bude task<std::vector<T>. Pokud jsou vstupní úkoly typuvoid, výstupní úkol bude také .task<void>

Poznámky

Pokud jsou oba úkoly zrušeny nebo vyvolány výjimky, vrácený úkol se dokončí ve zrušeném stavu a jedna z výjimek, pokud dojde k nějakému výskytu, bude vyvolána při volání get() nebo wait() úkolu.

operator&& – operátor

Vytvoří úlohu, která se úspěšně dokončí, když se oba úkoly zadané jako argumenty úspěšně dokončí.

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

Parametry

Returntype
Typ vráceného úkolu.

Lhs
První úkol, který se má sloučit do výsledného úkolu.

rhs
Druhý úkol, který se má sloučit do výsledného úkolu.

Vrácená hodnota

Úkol, který se úspěšně dokončí, když byly úspěšně dokončeny oba vstupní úkoly. Pokud jsou vstupní úkoly typu T, výstupem této funkce bude task<std::vector<T>>. Pokud jsou vstupní úkoly typuvoid, výstupní úkol bude také .task<void>

Poznámky

Pokud je některý z úkolů zrušen nebo vyvolá výjimku, vrácený úkol se dokončí dříve, v zrušeném stavu a výjimka, pokud dojde k některé z nich, bude vyvolána, pokud zavoláte get() nebo wait() pro daný úkol.

operator== – operátor

Testuje, zda je concurrent_vector objekt na levé straně operátoru concurrent_vector roven objektu na pravé straně.

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

Parametry

T
Datový typ prvků uložených v souběžných vektorech.

A1
Typ alokátoru prvního concurrent_vector objektu.

A2
Typ alokátoru druhého concurrent_vector objektu.

_A
Objekt typu concurrent_vector.

_B
Objekt typu concurrent_vector.

Vrácená hodnota

true je-li souběžný vektor na levé straně operátoru roven souběžnému vektoru na pravé straně operátoru; jinak false.

Poznámky

Dva souběžné vektory jsou stejné, pokud mají stejný počet prvků a jejich odpovídající prvky mají stejné hodnoty. Jinak jsou nerovné.

Tato metoda není bezpečná pro souběžnost s ohledem na jiné metody, které by mohly upravovat buď souběžné vektory _A , nebo _B.

operator!= – operátor

Testuje, zda objekt concurrent_vector na levé straně operátoru není roven concurrent_vector objektu na pravé straně.

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

Parametry

T
Datový typ prvků uložených v souběžných vektorech.

A1
Typ alokátoru prvního concurrent_vector objektu.

A2
Typ alokátoru druhého concurrent_vector objektu.

_A
Objekt typu concurrent_vector.

_B
Objekt typu concurrent_vector.

Vrácená hodnota

true pokud souběžné vektory nejsou stejné; false pokud jsou souběžné vektory stejné.

Poznámky

Dva souběžné vektory jsou stejné, pokud mají stejný počet prvků a jejich odpovídající prvky mají stejné hodnoty. Jinak jsou nerovné.

Tato metoda není bezpečná pro souběžnost s ohledem na jiné metody, které by mohly upravovat buď souběžné vektory _A , nebo _B.

operator< – operátor

Testuje, zda je concurrent_vector objekt na levé straně operátoru menší než concurrent_vector objekt na pravé straně.

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

Parametry

T
Datový typ prvků uložených v souběžných vektorech.

A1
Typ alokátoru prvního concurrent_vector objektu.

A2
Typ alokátoru druhého concurrent_vector objektu.

_A
Objekt typu concurrent_vector.

_B
Objekt typu concurrent_vector.

Vrácená hodnota

true je-li souběžný vektor na levé straně operátoru menší než souběžný vektor na pravé straně operátoru; jinak false.

Poznámky

Chování tohoto operátoru je stejné jako ekvivalentní operátor třídy vector v std oboru názvů.

Tato metoda není bezpečná pro souběžnost s ohledem na jiné metody, které by mohly upravovat buď souběžné vektory _A , nebo _B.

operator<= – operátor

Testuje, concurrent_vector zda je objekt na levé straně operátoru menší nebo roven concurrent_vector objektu na pravé straně.

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

Parametry

T
Datový typ prvků uložených v souběžných vektorech.

A1
Typ alokátoru prvního concurrent_vector objektu.

A2
Typ alokátoru druhého concurrent_vector objektu.

_A
Objekt typu concurrent_vector.

_B
Objekt typu concurrent_vector.

Vrácená hodnota

true je-li souběžný vektor na levé straně operátoru menší nebo roven souběžnému vektoru na pravé straně operátoru; jinak false.

Poznámky

Chování tohoto operátoru je stejné jako ekvivalentní operátor třídy vector v std oboru názvů.

Tato metoda není bezpečná pro souběžnost s ohledem na jiné metody, které by mohly upravovat buď souběžné vektory _A , nebo _B.

operator> – operátor

Testuje, concurrent_vector zda je objekt na levé straně operátoru větší než concurrent_vector objekt na pravé straně.

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

Parametry

T
Datový typ prvků uložených v souběžných vektorech.

A1
Typ alokátoru prvního concurrent_vector objektu.

A2
Typ alokátoru druhého concurrent_vector objektu.

_A
Objekt typu concurrent_vector.

_B
Objekt typu concurrent_vector.

Vrácená hodnota

true je-li souběžný vektor na levé straně operátoru větší než souběžný vektor na pravé straně operátoru; jinak false.

Poznámky

Chování tohoto operátoru je stejné jako ekvivalentní operátor třídy vector v std oboru názvů.

Tato metoda není bezpečná pro souběžnost s ohledem na jiné metody, které by mohly upravovat buď souběžné vektory _A , nebo _B.

operator>= – operátor

Testuje, zda je concurrent_vector objekt na levé straně operátoru větší nebo roven concurrent_vector objektu na pravé straně.

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

Parametry

T
Datový typ prvků uložených v souběžných vektorech.

A1
Typ alokátoru prvního concurrent_vector objektu.

A2
Typ alokátoru druhého concurrent_vector objektu.

_A
Objekt typu concurrent_vector.

_B
Objekt typu concurrent_vector.

Vrácená hodnota

true je-li souběžný vektor na levé straně operátoru větší nebo roven souběžnému vektoru na pravé straně operátoru; jinak false.

Poznámky

Chování tohoto operátoru je stejné jako ekvivalentní operátor třídy vector v std oboru názvů.

Tato metoda není bezpečná pro souběžnost s ohledem na jiné metody, které by mohly upravovat buď souběžné vektory _A , nebo _B.

Viz také

concurrency – obor názvů