Класс choice
Блок обмена сообщениями choice multi-источник, блок единый-целевого объекта, представляющего взаимодействие потока управления с набором источников.Выберите блок ожидает любой из нескольких источников, чтобы создать сообщение и распространяет индекс источника, который сформировал сообщение.
template<
class _Type
>
class choice: public ISource<size_t>;
Параметры
- _Type
tuple- на основе тип, представляющий полезные данные источников входных данных.
Участники
Открытые typedef
Имя |
Описание |
---|---|
type |
Псевдоним для типа _Type. |
Открытые конструкторы
Имя |
Описание |
---|---|
Перегружен.Создает блок обмена сообщениями choice. |
|
Уничтожает блок обмена сообщениями choice. |
Открытые методы
Имя |
Описание |
---|---|
Принимает сообщение, которое было предложено этим блоком choice передавать владение участнику. |
|
Получает счетчик ссылок в этом блоке обмена сообщениями choice, чтобы предотвратить удаление. |
|
Использует сообщение ранее предлагаемое этим блоком обмена сообщениями choice успешно, зарезервированный целевым объектом и передавать владение участнику. |
|
Проверяет, был ли инициализирован этот блок обмена сообщениями choice со значением while. |
|
Возвращает индекс в tuple, представляющий элемент, выбранный блоком обмена сообщениями choice. |
|
Блок целевого объекта ссылки в этот блок обмена сообщениями choice. |
|
Выпуски предыдущее успешное резервирование сообщения. |
|
Выпуски счетчик ссылок в этом блоке обмена сообщениями choice. |
|
Резервирует сообщение ранее предлагаемое этим блоком обмена сообщениями choice. |
|
Удаления связи блок целевого объекта из этого блока обмена сообщениями choice. |
|
Удаления ссылки на все целевые объекты из этого блока обмена сообщениями choice.Переопределяет ISource::unlink_targets(). |
|
Получает сообщение, индекс которого был выбран блоком обмена сообщениями choice. |
Заметки
Выберите блок гарантирует, что использовать только входящих сообщений.
Дополнительные сведения см. в разделе Асинхронные блоки сообщений.
Иерархия наследования
choice
Требования
заголовок: agents.h
Параллелизм пространство имен: