source_link_manager 클래스

source_link_manager 개체는 ISource 블록에 대한 메시징 블록 네트워크 연결을 관리합니다.

구문

template<class _LinkRegistry>
class source_link_manager;

매개 변수

_LinkRegistry
네트워크 링크 레지스트리입니다.

멤버

공용 Typedefs

이름 설명
const_pointer 개체의 요소에 대한 포인터를 const 제공하는 형식입니다 source_link_manager .
const_reference const 연산을 읽고 수행하기 위해 const 개체에 source_link_manager 저장된 요소에 대한 참조를 제공하는 형식입니다.
iterator 개체의 모든 요소를 읽거나 수정할 수 있는 source_link_manager 반복기를 제공하는 형식입니다.
type 개체에서 관리되는 링크 레지스트리의 source_link_manager 유형입니다.

공용 생성자

속성 설명
source_link_manager source_link_manager 개체를 생성합니다.
~source_link_manager 소멸자 개체를 source_link_manager 삭제합니다.

공용 메서드

이름 설명
add 개체에 소스 링크를 source_link_manager 추가합니다.
begin 개체의 첫 번째 요소에 source_link_manager 반복기를 반환합니다.
contains network_link_registrysource_link_manager 개체 내에서 지정된 블록을 검색합니다.
count 개체의 연결된 블록 source_link_manager 수를 계산합니다.
reference 개체에 대한 참조를 가져옵니다 source_link_manager .
register_target_block source_link_manager 개체를 보유하는 대상 블록을 등록합니다.
release 개체에 대한 참조를 해제 source_link_manager 합니다.
remove 개체에서 source_link_manager 링크를 제거합니다.
set_bound source_link_manager 개체에 추가할 수 있는 소스 링크의 최대 수를 설정합니다.

설명

현재 소스 블록은 참조 횟수가 계산됩니다. 이는 링크에 대한 network_link_registry 동시 액세스를 허용하고 콜백을 통해 링크를 참조하는 기능을 제공하는 개체의 래퍼입니다. 메시지 블록( target_blocks 또는 propagator_blocks)은 원본 링크에 이 클래스를 사용해야 합니다.

상속 계층 구조

source_link_manager

요구 사항

헤더: agents.h

네임스페이스: 동시성

추가

개체에 소스 링크를 source_link_manager 추가합니다.

void add(_EType _Link);

매개 변수

_링크
추가할 블록에 대한 포인터입니다.

begin

개체의 첫 번째 요소에 source_link_manager 반복기를 반환합니다.

iterator begin();

Return Value

개체의 첫 번째 요소 source_link_manager 주소를 지정하는 반복기입니다.

설명

반복기의 끝 상태는 링크로 NULL 표시됩니다.

contains

network_link_registrysource_link_manager 개체 내에서 지정된 블록을 검색합니다.

bool contains(_EType _Link);

매개 변수

_링크
개체에서 검색할 블록에 대한 source_link_manager 포인터입니다.

Return Value

true 지정된 블록을 찾았 false 으면 그렇지 않습니다.

count

개체의 연결된 블록 source_link_manager 수를 계산합니다.

size_t count();

Return Value

개체의 연결된 블록 수입니다 source_link_manager .

reference

개체에 대한 참조를 가져옵니다 source_link_manager .

void reference();

register_target_block

source_link_manager 개체를 보유하는 대상 블록을 등록합니다.

void register_target_block(_Inout_ ITarget<typename _Block::source_type>* _PTarget);

매개 변수

_PTarget
source_link_manager 개체를 보유하는 대상 블록입니다.

릴리스

개체에 대한 참조를 해제 source_link_manager 합니다.

void release();

제거

개체에서 source_link_manager 링크를 제거합니다.

bool remove(_EType _Link);

매개 변수

_링크
제거할 블록에 대한 포인터입니다(있는 경우).

Return Value

true 링크가 발견되고 제거되었 false 으면 그렇지 않습니다.

set_bound

source_link_manager 개체에 추가할 수 있는 소스 링크의 최대 수를 설정합니다.

void set_bound(size_t _MaxLinks);

매개 변수

_MaxLinks
최대 링크 수입니다.

source_link_manager

source_link_manager 개체를 생성합니다.

source_link_manager();

~source_link_manager

개체를 source_link_manager 삭제합니다.

~source_link_manager();

참고 항목

concurrency 네임스페이스
single_link_registry 클래스
multi_link_registry 클래스