Класс combinable

Объект combinable<T> предназначен для предоставления потокозакрытых копий данных для выполнения свободных от блокировок потоколокальных подвычислений в процессе параллельных алгоритмов. В конце параллельной операции потокозакрытые подвыражения могут быть объединены в окончательный результат. Этот класс может использоваться вместо общей переменной и может привести к улучшение производительности, если бы иначе на общей переменной была сильная конкуренция.

template<
   typename _Ty
>
class combinable;

Параметры

  • _Ty
    Тип данных итогового слитого результата. Тип должен иметь конструктор копирования и конструктор по умолчанию.

Члены

Открытые конструкторы

Name

Описание

Конструктор combinable::combinable

Перегружен. Создает новый объект combinable.

Деструктор combinable::~combinable

Удаляет объект combinable.

Открытые методы

Name

Описание

Метод combinable::clear

Очищает все промежуточные вычислительные результаты из предыдущего использования.

Метод combinable::combine

Вычисляет окончательное значение из набора потоколокальных подвычислений, вызывая предоставленный функтор объединения.

Метод combinable::combine_each

Вычисляет окончательное значение из набора потоколокальных подвычислений, вызывая предоставленный функтор объединения один раз за потоколокальное подвычсиление. Окончательный результат аккумулирован объектом функции.

Метод combinable::local

Перегружен. Возвращает ссылку на потокозакрытое подвычисление.

Открытые операторы

Name

Описание

Оператор combinable::operator=

Назначает объекту combinable из другого объекта combinable.

Заметки

Для получения дополнительной информации см. Параллельные контейнеры и объекты.

Иерархия наследования

combinable

Требования

Заголовок: ppl.h

Пространство имен: concurrency

См. также

Ссылки

Пространство имен concurrency