Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Объект 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 объект. (Переопределяет network_link_registry::add.) |
| begin | Возвращает итератор к первому элементу объекта multi_link_registry. (Переопределяет network_link_registry::begin.) |
| содержит |
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
Пространство имен: конкурентность
добавить
Добавляет ссылку на multi_link_registry объект.
virtual void add(_EType _Link);
Параметры
_Ссылка
Указатель на блок, который будет добавлен.
Замечания
Метод вызывает исключение invalid_link_target, если ссылка уже присутствует в реестре, или если привязка уже установлена с set_bound функцией и с тех пор ссылка была удалена.
начать
Возвращает итератор к первому элементу объекта multi_link_registry.
virtual iterator begin();
Возвращаемое значение
Итератор, обращаюющийся к первому элементу multi_link_registry объекта.
Замечания
Конечное состояние указывается ссылкой NULL .
содержит
multi_link_registry Выполняет поиск объекта для указанного блока.
virtual bool contains(_EType _Link);
Параметры
_Ссылка
Указатель на блок, который нужно искать в объекте multi_link_registry.
Возвращаемое значение
true если указанный блок найден, false в противном случае.
количество
Подсчитывает количество элементов в объекте multi_link_registry .
virtual size_t count();
Возвращаемое значение
Количество элементов в объекте multi_link_registry .
реестр мульти-ссылок
Формирует объект multi_link_registry.
multi_link_registry();
~multi_link_registry
Уничтожает multi_link_registry объект.
virtual ~multi_link_registry();
Замечания
Метод вызывает исключение invalid_operation при вызове перед удалением всех ссылок.
удалить
Удаляет ссылку из multi_link_registry объекта.
virtual bool remove(_EType _Link);
Параметры
_Ссылка
Указатель на блок, который нужно удалить, если он найден.
Возвращаемое значение
true Если ссылка найдена и удалена, false в противном случае.
установка_границы
Задает верхнюю границу по количеству ссылок, которые multi_link_registry может хранить объект.
void set_bound(size_t _MaxLinks);
Параметры
_MaxLinks
Максимальное количество ссылок, которые объект multi_link_registry может хранить.
Замечания
После установки границы отсоединение записи приведет к тому, что объект multi_link_registry войдет в неизменяемое состояние, где дальнейшие вызовы add создадут исключение invalid_link_target.