Класс multitype_join

Блок сообщений multitype_join — многоисточниковый одноцелевой упорядоченный блок сообщений, который сочетает сообщения различных типов от каждого из своих источников и предлагает целевым объектам кортеж объединенных сообщений.

template<
   typename _Type,
   join_type _Jtype = non_greedy
>
class multitype_join: public ISource<typename _Unwrap<_Type>::type>;

Параметры

  • _Type
    Тип полезных данных tuple объединенных и распространенных блоком сообщений.

  • _Jtype
    Тип блока join, которым он является, greedy или non_greedy

Члены

Открытые определения типов

Имя

Описание

type

Псевдоним типа для _Type.

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

Имя

Описание

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

Перегружен. Создает блок сообщений multitype_join.

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

Уничтожает блок сообщений multitype_join.

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

Имя

Описание

Метод multitype_join::accept

Принимает сообщение, предложенное этим блоком multitype_join, передавая владение вызывающему объекту.

Метод multitype_join::acquire_ref

Получает значение счетчика ссылок на этот блок сообщений для multitype_join, чтобы предотвратить удаление.

Метод multitype_join::consume

Потребляет сообщение, ранее предложенное блоком сообщений multitype_join и успешно зарезервированное целевым объектом, передавая владение вызывающему объекту.

Метод multitype_join::link_target

Связывает целевой блок с этим блоком сообщений multitype_join.

Метод multitype_join::release

Освобождает предыдущее успешное резервирование сообщения.

Метод multitype_join::release_ref

Освобождает значение счетчика ссылок на этот блок сообщений multiple_join.

Метод multitype_join::reserve

Резервирует сообщение, которое было предложено этим блоком сообщений multitype_join.

Метод multitype_join::unlink_target

Удаляет связь целевого блока с этим блоком сообщений multitype_join.

Метод multitype_join::unlink_targets

Удаляет связь всех целевых объектов с этим блоком сообщений multitype_join. (Переопределяет ISource::unlink_targets.)

Заметки

Дополнительные сведения см. в разделе Асинхронные блоки сообщений.

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

ISource

multitype_join

Требования

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

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

См. также

Ссылки

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

Класс choice

Класс join

Перечисление join_type

Функция make_join

Функция make_greedy_join

tuple Class