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


Класс multi_link_registry

Объект multi_link_registry представляет собой network_link_registry, управляющий несколькими блоками источников или целевыми блоками.

Синтаксис

template<class _Block>
class multi_link_registry : public network_link_registry<_Block>;

Параметры

_Блок
Тип данных блока, хранящийся в объекте multi_link_registry .

Участники

Открытые конструкторы

Имя Описание
multi_link_registry Формирует объект multi_link_registry.
Деструктор ~multi_link_registry Уничтожает multi_link_registry объект.

Открытые методы

Имя Описание
добавление Добавляет ссылку на multi_link_registry объект. (Переопределяет network_link_registry::add.)
begin Возвращает итератор первому элементу multi_link_registry объекта. (Переопределяет network_link_registry::begin.)
contains multi_link_registry Выполняет поиск объекта для указанного блока. (Переопределяет network_link_registry::contains.)
count Подсчитывает количество элементов в объекте multi_link_registry . (Переопределяет network_link_registry::count.)
remove Удаляет ссылку из multi_link_registry объекта. (Переопределяет network_link_registry::remove.)
set_bound Задает верхнюю границу по количеству ссылок, которые multi_link_registry может хранить объект.

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

network_link_registry

multi_link_registry

Требования

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

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

add

Добавляет ссылку на multi_link_registry объект.

virtual void add(_EType _Link);

Параметры

_Связь
Указатель на добавленный блок.

Замечания

Метод вызывает исключение invalid_link_target , если ссылка уже присутствует в реестре, или если привязка уже установлена с set_bound функцией и ссылка с тех пор удалена.

begin

Возвращает итератор первому элементу multi_link_registry объекта.

virtual iterator begin();

Возвращаемое значение

Итератор, обращаюющийся к первому элементу multi_link_registry объекта.

Замечания

Конечное состояние указывается ссылкой NULL .

содержит

multi_link_registry Выполняет поиск объекта для указанного блока.

virtual bool contains(_EType _Link);

Параметры

_Связь
Указатель на блок, который должен находиться в объекте multi_link_registry .

Возвращаемое значение

true Значение , если указанный блок найден, false в противном случае.

count

Подсчитывает количество элементов в объекте multi_link_registry .

virtual size_t count();

Возвращаемое значение

Количество элементов в объекте multi_link_registry .

multi_link_registry

Формирует объект multi_link_registry.

multi_link_registry();

~multi_link_registry

Уничтожает multi_link_registry объект.

virtual ~multi_link_registry();

Замечания

Метод вызывает исключение invalid_operation при вызове перед удалением всех ссылок.

remove

Удаляет ссылку из multi_link_registry объекта.

virtual bool remove(_EType _Link);

Параметры

_Связь
Указатель на блок, который нужно удалить, если он найден.

Возвращаемое значение

true Значение , если ссылка найдена и удалена, false в противном случае.

set_bound

Задает верхнюю границу по количеству ссылок, которые multi_link_registry может хранить объект.

void set_bound(size_t _MaxLinks);

Параметры

_MaxLinks
Максимальное количество ссылок, которые multi_link_registry может хранить объект.

Замечания

После установки границы отсоединение записи приведет к тому, что объект multi_link_registry войдет в неизменяемое состояние, где дальнейшие вызовы add создадут исключение invalid_link_target.

См. также

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