Udostępnij za pośrednictwem


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ż

Przestrzeń nazw współbieżności