Класс 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

Члены

Общедоступные Typedefs

Name

Описание

type

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

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

Name

Описание

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

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

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

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

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

Name

Описание

Метод 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