Operatory przestrzeni nazw współbieżności
operator||
, operator
Tworzy zadanie, które zostanie wykonane pomyślnie po pomyślnym zakończeniu któregokolwiek z zadań dostarczonych 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 zwróconego zadania.
Lhs
Pierwsze zadanie, które ma być łączone w wynikowe zadanie.
Rhs
Drugie zadanie do połączenia w wynikowe zadanie.
Wartość zwracana
Zadanie, które zakończy się pomyślnie po pomyślnym zakończeniu któregokolwiek z zadań wejściowych. Jeśli zadania wejściowe są typu T
, dane wyjściowe tej funkcji będą mieć task<std::vector<T>
wartość . Jeśli zadania wejściowe są typuvoid
, zadanie wyjściowe będzie również .task<void>
Uwagi
Jeśli oba zadania są anulowane lub zgłaszają wyjątki, zwrócone zadanie zostanie ukończone w stanie anulowanym, a jedno z wyjątków, jeśli wystąpią, zostanie zgłoszone podczas wywoływania get()
lub wait()
przy użyciu tego zadania.
operator&&
, operator
Tworzy zadanie, które zostanie ukończone pomyślnie, gdy oba zadania dostarczone jako argumenty zakończą się pomyślnie.
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 zwróconego zadania.
Lhs
Pierwsze zadanie, które ma być łączone w wynikowe zadanie.
Rhs
Drugie zadanie do połączenia w wynikowe zadanie.
Wartość zwracana
Zadanie, które zakończy się pomyślnie po pomyślnym zakończeniu obu zadań wejściowych. Jeśli zadania wejściowe są typu T
, dane wyjściowe tej funkcji będą mieć task<std::vector<T>>
wartość . Jeśli zadania wejściowe są typuvoid
, zadanie wyjściowe będzie również .task<void>
Uwagi
Jeśli jedno z zadań zostanie anulowane lub zgłosi wyjątek, zwrócone zadanie zostanie ukończone wcześnie, w stanie anulowanym, a wyjątek, jeśli wystąpi, zostanie zgłoszony w przypadku wywołania get()
lub wait()
wykonania tego zadania.
operator== , operator
Sprawdza, czy concurrent_vector
obiekt po lewej stronie operatora jest równy concurrent_vector
obiektowi po prawej stronie.
template<typename T, class A1, class A2>
inline bool operator== (
const concurrent_vector<T, A1>& _A,
const concurrent_vector<T, A2>& _B);
Parametry
T
Typ danych elementów przechowywanych w wektorach współbieżnych.
A1
Typ alokatora pierwszego concurrent_vector
obiektu.
A2
Typ alokatora drugiego concurrent_vector
obiektu.
_A
Obiekt typu concurrent_vector
.
_B
Obiekt typu concurrent_vector
.
Wartość zwracana
true
jeśli wektor współbieżny po lewej stronie operatora jest równy wektorowi współbieżnemu po prawej stronie operatora; w przeciwnym razie false
.
Uwagi
Dwa współbieżne wektory są równe, jeśli mają taką samą liczbę elementów, a ich elementy mają te same wartości. W przeciwnym razie są one nierówne.
Ta metoda nie jest bezpieczna współbieżności w odniesieniu do innych metod, które mogą modyfikować jednoczesne wektory _A
lub _B
.
operator!= — Operator
Sprawdza, czy concurrent_vector
obiekt po lewej stronie operatora nie jest równy concurrent_vector
obiektowi po prawej stronie.
template<typename T, class A1, class A2>
inline bool operator!= (
const concurrent_vector<T, A1>& _A,
const concurrent_vector<T, A2>& _B);
Parametry
T
Typ danych elementów przechowywanych w wektorach współbieżnych.
A1
Typ alokatora pierwszego concurrent_vector
obiektu.
A2
Typ alokatora drugiego concurrent_vector
obiektu.
_A
Obiekt typu concurrent_vector
.
_B
Obiekt typu concurrent_vector
.
Wartość zwracana
true
jeśli wektory współbieżne nie są równe; false
jeśli wektory współbieżne są równe.
Uwagi
Dwa współbieżne wektory są równe, jeśli mają taką samą liczbę elementów, a ich elementy mają te same wartości. W przeciwnym razie są one nierówne.
Ta metoda nie jest bezpieczna współbieżności w odniesieniu do innych metod, które mogą modyfikować jednoczesne wektory _A
lub _B
.
operator<
, operator
Sprawdza, czy concurrent_vector
obiekt po lewej stronie operatora jest mniejszy niż concurrent_vector
obiekt po prawej stronie.
template<typename T, class A1, class A2>
inline bool operator<(
const concurrent_vector<T, A1>& _A,
const concurrent_vector<T, A2>& _B);
Parametry
T
Typ danych elementów przechowywanych w wektorach współbieżnych.
A1
Typ alokatora pierwszego concurrent_vector
obiektu.
A2
Typ alokatora drugiego concurrent_vector
obiektu.
_A
Obiekt typu concurrent_vector
.
_B
Obiekt typu concurrent_vector
.
Wartość zwracana
true
jeśli wektor współbieżny po lewej stronie operatora jest mniejszy niż wektor współbieżny po prawej stronie operatora; w przeciwnym razie false
.
Uwagi
Zachowanie tego operatora jest identyczne z równoważnym operatorem dla vector
klasy w std
przestrzeni nazw.
Ta metoda nie jest bezpieczna współbieżności w odniesieniu do innych metod, które mogą modyfikować jednoczesne wektory _A
lub _B
.
operator<=
, operator
Sprawdza, czy concurrent_vector
obiekt po lewej stronie operatora jest mniejszy lub równy concurrent_vector
obiektowi po prawej stronie.
template<typename T, class A1, class A2>
inline bool operator<= (
const concurrent_vector<T, A1>& _A,
const concurrent_vector<T, A2>& _B);
Parametry
T
Typ danych elementów przechowywanych w wektorach współbieżnych.
A1
Typ alokatora pierwszego concurrent_vector
obiektu.
A2
Typ alokatora drugiego concurrent_vector
obiektu.
_A
Obiekt typu concurrent_vector
.
_B
Obiekt typu concurrent_vector
.
Wartość zwracana
true
jeśli wektor współbieżny po lewej stronie operatora jest mniejszy lub równy wektorowi współbieżnemu po prawej stronie operatora; w przeciwnym razie false
.
Uwagi
Zachowanie tego operatora jest identyczne z równoważnym operatorem dla vector
klasy w std
przestrzeni nazw.
Ta metoda nie jest bezpieczna współbieżności w odniesieniu do innych metod, które mogą modyfikować jednoczesne wektory _A
lub _B
.
operator>
, operator
Sprawdza, czy concurrent_vector
obiekt po lewej stronie operatora jest większy niż concurrent_vector
obiekt po prawej stronie.
template<typename T, class A1, class A2>
inline bool operator>(
const concurrent_vector<T, A1>& _A,
const concurrent_vector<T, A2>& _B);
Parametry
T
Typ danych elementów przechowywanych w wektorach współbieżnych.
A1
Typ alokatora pierwszego concurrent_vector
obiektu.
A2
Typ alokatora drugiego concurrent_vector
obiektu.
_A
Obiekt typu concurrent_vector
.
_B
Obiekt typu concurrent_vector
.
Wartość zwracana
true
jeśli wektor współbieżny po lewej stronie operatora jest większy niż wektor współbieżny po prawej stronie operatora; w przeciwnym razie false
.
Uwagi
Zachowanie tego operatora jest identyczne z równoważnym operatorem dla vector
klasy w std
przestrzeni nazw.
Ta metoda nie jest bezpieczna współbieżności w odniesieniu do innych metod, które mogą modyfikować jednoczesne wektory _A
lub _B
.
operator>=
, operator
Sprawdza, czy concurrent_vector
obiekt po lewej stronie operatora jest większy lub równy concurrent_vector
obiektowi po prawej stronie.
template<typename T, class A1, class A2>
inline bool operator>= (
const concurrent_vector<T, A1>& _A,
const concurrent_vector<T, A2>& _B);
Parametry
T
Typ danych elementów przechowywanych w wektorach współbieżnych.
A1
Typ alokatora pierwszego concurrent_vector
obiektu.
A2
Typ alokatora drugiego concurrent_vector
obiektu.
_A
Obiekt typu concurrent_vector
.
_B
Obiekt typu concurrent_vector
.
Wartość zwracana
true
jeśli wektor współbieżny po lewej stronie operatora jest większy lub równy wektorowi współbieżnemu po prawej stronie operatora; w przeciwnym razie false
.
Uwagi
Zachowanie tego operatora jest identyczne z równoważnym operatorem dla vector
klasy w std
przestrzeni nazw.
Ta metoda nie jest bezpieczna współbieżności w odniesieniu do innych metod, które mogą modyfikować jednoczesne wektory _A
lub _B
.
Zobacz też
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla