Класс transformer
Блок сообщений transformer — одноцелевой многоисточниковый упорядоченный propagator_block, который может принимать сообщения одного типа и способен хранить неограниченное число сообщений другого типа.
template<
class _Input,
class _Output
>
class transformer : public propagator_block<single_link_registry<ITarget<_Output>>, multi_link_registry<ISource<_Input>>>;
Параметры
_Input
Тип полезных данных сообщений, принятых буфером._Output
Тип полезных данных сохраненных и распространенных из буфера сообщений.
Члены
Открытые конструкторы
Имя |
Описание |
---|---|
Перегружен.Создает блок сообщений transformer. |
|
Уничтожает блок сообщений transformer. |
Защищенные методы
Имя |
Описание |
---|---|
Принимает сообщение, предложенное этим блоком сообщений transformer, передавая владение вызывающему объекту. |
|
Потребляет сообщение, ранее предложенное transformer зарезервированное целевым объектом, передавая владение вызывающему объекту. |
|
Обратный вызов, который уведомляет, что новая цель связана с этим блоком сообщений transformer. |
|
Асинхронно передает сообщение из блока ISource в этот блок сообщений transformer.Вызывается методом propagate при вызове исходного блока. |
|
Выполняет функцию transformer в сообщениях ввода. |
|
Освобождает предыдущее резервирование сообщения.(Переопределяет конструктор source_block::release_message). |
|
Резервирует сообщение, которое было предложено этим блоком сообщений transformer.(Переопределяет конструктор source_block::reserve_message). |
|
Возобновляет распространение после отмены резервирования.(Переопределяет конструктор source_block::resume_propagation). |
|
Синхронно передает сообщение из блока ISource в этот блок сообщений transformer.Вызывается методом send при вызове исходного блока. |
|
Переопределяет метод supports_anonymous_source, чтобы показать, что этот блок сообщений может принять предлагаемые к нему источника, который не связан.Переопределяет ITarget::supports_anonymous_source(). |
Заметки
Дополнительные сведения см. в разделе Асинхронные блоки сообщений.
Иерархия наследования
transformer
Требования
Заголовок: agents.h
Параллелизм пространство имен: