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.
Návratová 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.
Návratová 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
.
Návratová 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
.
Návratová 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
.
Návratová 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
.
Návratová 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
.
Návratová 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
.
Návratová 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
.