Поделиться через


Класс choice

Блок обмена сообщениями choice multi-источник, блок единый-целевого объекта, представляющего взаимодействие потока управления с набором источников.Выберите блок ожидает любой из нескольких источников, чтобы создать сообщение и распространяет индекс источника, который сформировал сообщение.

template<
   class _Type
>
class choice: public ISource<size_t>;

Параметры

  • _Type
    tuple- на основе тип, представляющий полезные данные источников входных данных.

Участники

Dd492421.collapse_all(ru-ru,VS.110).gifОткрытые typedef

Имя

Описание

type

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

Dd492421.collapse_all(ru-ru,VS.110).gifОткрытые конструкторы

Имя

Описание

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

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

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

Уничтожает блок обмена сообщениями choice.

Dd492421.collapse_all(ru-ru,VS.110).gifОткрытые методы

Имя

Описание

Метод choice::accept

Принимает сообщение, которое было предложено этим блоком choice передавать владение участнику.

Метод choice::acquire_ref

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

Метод choice::consume

Использует сообщение ранее предлагаемое этим блоком обмена сообщениями choice успешно, зарезервированный целевым объектом и передавать владение участнику.

Метод choice::has_value

Проверяет, был ли инициализирован этот блок обмена сообщениями choice со значением while.

Метод choice::index

Возвращает индекс в tuple, представляющий элемент, выбранный блоком обмена сообщениями choice.

Метод choice::link_target

Блок целевого объекта ссылки в этот блок обмена сообщениями choice.

Метод choice::release

Выпуски предыдущее успешное резервирование сообщения.

Метод choice::release_ref

Выпуски счетчик ссылок в этом блоке обмена сообщениями choice.

Метод choice::reserve

Резервирует сообщение ранее предлагаемое этим блоком обмена сообщениями choice.

Метод choice::unlink_target

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

Метод choice::unlink_targets

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

Метод choice::value

Получает сообщение, индекс которого был выбран блоком обмена сообщениями choice.

Заметки

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

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

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

ISource

choice

Требования

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

Параллелизм пространство имен:

См. также

Ссылки

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

Класс join

Класс single_assignment

Функция make_choice

tuple Class