Класс 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 может хранить объект. |
Иерархия наследования
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
.