choice 클래스

choice 메시징 블록은 일련의 소스와의 흐름 제어 상호 작용을 나타내는 다중 소스 단일 대상 블록입니다. 선택한 블록은 메시지를 생성하기 위해 여러 소스 중 하나에 대해 대기하며 메시지를 생성한 소스의 인덱스를 전파합니다.

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

매개 변수

  • _Type
    입력 소스의 페이로드를 나타내는 tuple 기반 형식입니다.

멤버

공용 Typedefs

Name

설명

type

_Type에 대한 형식의 별칭입니다.

Public 생성자

Name

설명

choice::choice 생성자

오버로드되는 이 메서드는 choice 메시징 블록을 생성합니다.

choice::~choice 소멸자

choice 메시징 블록을 소멸시킵니다.

Public 메서드

Name

설명

choice::accept 메서드

호출자에게 소유권을 전송하는 이 choice 블록에 의해 제공된 메시지를 수락합니다.

choice::acquire_ref 메서드

삭제가 발생하지 않도록 이 choice 메시징 블록에서 참조 횟수를 가져옵니다.

choice::consume 메서드

choice 메시징 블록이 이전에 제공하고 호출자에게 소유권을 전송하는 대상이 성공적으로 예약한 메시지를 생성합니다.

choice::has_value 메서드

choice 메시징 블록이 값으로 초기화되었는지 여부를 확인합니다.

choice::index 메서드

choice 메시징 블록에서 선택한 요소를 나타내는 tuple에 인덱스를 반환합니다.

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

네임스페이스: 동시성

참고 항목

참조

동시성 네임스페이스

join 클래스

single_assignment 클래스

make_choice 함수

tuple Class