Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Оператор operator||
Создает задачу, которая завершается успешно, если любая из задач, предоставленных в качестве аргументов, завершается успешно.
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);
Параметры
ReturnType
Тип возвращаемой задачи.
lhs
Первая задача для объединения в результирующую задачу.
rhs
Вторая задача для объединения в результирующую задачу.
Возвращаемое значение
Задача, которая успешно завершается при успешном выполнении любой из входных задач. Если входные задачи относятся к типу T, выводом этой функции будет task<std::vector<T>. Если входные задачи относятся к типу void, выходная задача также будет task<void>.
Замечания
Если обе задачи отменяются или создают исключения, возвращенная задача завершится в отмененном состоянии, и одно из исключений, если таковое встречено, возникнет при вызове get() или wait() для этой задачи.
Оператор operator&&
Создает задачу, которая успешно завершится, когда обе задачи, предоставленные в качестве аргументов, успешно завершены.
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);
Параметры
ReturnType
Тип возвращаемой задачи.
lhs
Первая задача для объединения в результирующую задачу.
rhs
Вторая задача для объединения в результирующую задачу.
Возвращаемое значение
Задача, которая завершается успешно, если обе входные задачи завершены успешно. Если входные задачи относятся к типу T, выводом этой функции будет task<std::vector<T>>. Если входные задачи относятся к типу void, выходная задача также будет task<void>.
Замечания
Если одна из задач отменена или вызывает исключение, возвращаемая задача завершится рано, в отмененном состоянии, а исключение, если возникает, при вызове get() или wait() выполнении этой задачи возникнет исключение.
оператор== оператор
Проверяет равенство объекта concurrent_vector слева от оператора объекту concurrent_vector справа от оператора.
template<typename T, class A1, class A2>
inline bool operator== (
const concurrent_vector<T, A1>& _A,
const concurrent_vector<T, A2>& _B);
Параметры
T
Тип данных элементов, хранящихся в параллельных векторах.
A1
Тип распределителя первого concurrent_vector объекта.
A2
Тип распределителя второго concurrent_vector объекта.
_A
Объект типа concurrent_vector.
_B
Объект типа concurrent_vector.
Возвращаемое значение
true Значение , если параллельный вектор слева от оператора равен параллельному вектору справа от оператора; в противном случае false.
Замечания
Два параллельных вектора равны, если они имеют одинаковое количество элементов, а соответствующие элементы имеют одинаковые значения. В противном случае они не равны.
Этот метод не является безопасным для параллелизма в отношении других методов, которые могут изменять один из параллельных векторов _A или _B.
оператор!=
Проверяет неравенство объекта concurrent_vector слева от оператора объекту concurrent_vector справа от оператора.
template<typename T, class A1, class A2>
inline bool operator!= (
const concurrent_vector<T, A1>& _A,
const concurrent_vector<T, A2>& _B);
Параметры
T
Тип данных элементов, хранящихся в параллельных векторах.
A1
Тип распределителя первого concurrent_vector объекта.
A2
Тип распределителя второго concurrent_vector объекта.
_A
Объект типа concurrent_vector.
_B
Объект типа concurrent_vector.
Возвращаемое значение
true Значение , если параллельные векторы не равны; false Значение
Замечания
Два параллельных вектора равны, если они имеют одинаковое количество элементов, а соответствующие элементы имеют одинаковые значения. В противном случае они не равны.
Этот метод не является безопасным для параллелизма в отношении других методов, которые могут изменять один из параллельных векторов _A или _B.
Оператор operator<
Проверяет, меньше ли объект concurrent_vector слева от оператора, чем объект concurrent_vector справа от оператора.
template<typename T, class A1, class A2>
inline bool operator<(
const concurrent_vector<T, A1>& _A,
const concurrent_vector<T, A2>& _B);
Параметры
T
Тип данных элементов, хранящихся в параллельных векторах.
A1
Тип распределителя первого concurrent_vector объекта.
A2
Тип распределителя второго concurrent_vector объекта.
_A
Объект типа concurrent_vector.
_B
Объект типа concurrent_vector.
Возвращаемое значение
true Значение , если параллельный вектор слева от оператора меньше, чем параллельный вектор справа от оператора; в противном случае false.
Замечания
Поведение этого оператора идентично эквиваленту для vector класса в std пространстве имен.
Этот метод не является безопасным для параллелизма в отношении других методов, которые могут изменять один из параллельных векторов _A или _B.
Оператор operator<=
Проверяет, меньше ли объект concurrent_vector слева от оператора, чем объект concurrent_vector справа от оператора, или равен ему.
template<typename T, class A1, class A2>
inline bool operator<= (
const concurrent_vector<T, A1>& _A,
const concurrent_vector<T, A2>& _B);
Параметры
T
Тип данных элементов, хранящихся в параллельных векторах.
A1
Тип распределителя первого concurrent_vector объекта.
A2
Тип распределителя второго concurrent_vector объекта.
_A
Объект типа concurrent_vector.
_B
Объект типа concurrent_vector.
Возвращаемое значение
true Значение , если параллельный вектор в левой части оператора меньше или равен одновременному вектору справа от оператора; в противном случае false.
Замечания
Поведение этого оператора идентично эквиваленту для vector класса в std пространстве имен.
Этот метод не является безопасным для параллелизма в отношении других методов, которые могут изменять один из параллельных векторов _A или _B.
Оператор operator>
Проверяет больше ли объект concurrent_vector слева от оператора, чем объект concurrent_vector справа от оператора.
template<typename T, class A1, class A2>
inline bool operator>(
const concurrent_vector<T, A1>& _A,
const concurrent_vector<T, A2>& _B);
Параметры
T
Тип данных элементов, хранящихся в параллельных векторах.
A1
Тип распределителя первого concurrent_vector объекта.
A2
Тип распределителя второго concurrent_vector объекта.
_A
Объект типа concurrent_vector.
_B
Объект типа concurrent_vector.
Возвращаемое значение
true Значение , если параллельный вектор слева от оператора больше, чем параллельный вектор справа от оператора; в противном случае false.
Замечания
Поведение этого оператора идентично эквиваленту для vector класса в std пространстве имен.
Этот метод не является безопасным для параллелизма в отношении других методов, которые могут изменять один из параллельных векторов _A или _B.
Оператор operator>=
Проверяет больше ли объект concurrent_vector слева от оператора, чем объект concurrent_vector справа от оператора, или равен ему.
template<typename T, class A1, class A2>
inline bool operator>= (
const concurrent_vector<T, A1>& _A,
const concurrent_vector<T, A2>& _B);
Параметры
T
Тип данных элементов, хранящихся в параллельных векторах.
A1
Тип распределителя первого concurrent_vector объекта.
A2
Тип распределителя второго concurrent_vector объекта.
_A
Объект типа concurrent_vector.
_B
Объект типа concurrent_vector.
Возвращаемое значение
true Значение , если параллельный вектор в левой части оператора больше или равен одновременному вектору справа от оператора; в противном случае false.
Замечания
Поведение этого оператора идентично эквиваленту для vector класса в std пространстве имен.
Этот метод не является безопасным для параллелизма в отношении других методов, которые могут изменять один из параллельных векторов _A или _B.