Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
The multi_link_registry object is a network_link_registry that manages multiple source blocks or multiple target blocks.
Syntax
template<class _Block>
class multi_link_registry : public network_link_registry<_Block>;
Parameters
_Block
The block data type being stored in the multi_link_registry object.
Members
Public Constructors
| Name | Description |
|---|---|
| multi_link_registry | Constructs a multi_link_registry object. |
| ~multi_link_registry Destructor | Destroys the multi_link_registry object. |
Public Methods
| Name | Description |
|---|---|
| add | Adds a link to the multi_link_registry object. (Overrides network_link_registry::add.) |
| begin | Returns an iterator to the first element in the multi_link_registry object. (Overrides network_link_registry::begin.) |
| contains | Searches the multi_link_registry object for a specified block. (Overrides network_link_registry::contains.) |
| count | Counts the number of items in the multi_link_registry object. (Overrides network_link_registry::count.) |
| remove | Removes a link from the multi_link_registry object. (Overrides network_link_registry::remove.) |
| set_bound | Sets an upper bound on the number of links that the multi_link_registry object can hold. |
Inheritance Hierarchy
multi_link_registry
Requirements
Header: agents.h
Namespace: concurrency
add
Adds a link to the multi_link_registry object.
virtual void add(_EType _Link);
Parameters
_Link
A pointer to a block to be added.
Remarks
The method throws an invalid_link_target exception if the link is already present in the registry, or if a bound has already been set with the set_bound function and a link has since been removed.
begin
Returns an iterator to the first element in the multi_link_registry object.
virtual iterator begin();
Return Value
An iterator addressing the first element in the multi_link_registry object.
Remarks
The end state is indicated by a NULL link.
contains
Searches the multi_link_registry object for a specified block.
virtual bool contains(_EType _Link);
Parameters
_Link
A pointer to a block that is to be searched for in the multi_link_registry object.
Return Value
true if the specified block was found, false otherwise.
count
Counts the number of items in the multi_link_registry object.
virtual size_t count();
Return Value
The number of items in the multi_link_registry object.
multi_link_registry
Constructs a multi_link_registry object.
multi_link_registry();
~multi_link_registry
Destroys the multi_link_registry object.
virtual ~multi_link_registry();
Remarks
The method throws an invalid_operation exception if called before all links are removed.
remove
Removes a link from the multi_link_registry object.
virtual bool remove(_EType _Link);
Parameters
_Link
A pointer to a block to be removed, if found.
Return Value
true if the link was found and removed, false otherwise.
set_bound
Sets an upper bound on the number of links that the multi_link_registry object can hold.
void set_bound(size_t _MaxLinks);
Parameters
_MaxLinks
The maximum number of links that the multi_link_registry object can hold.
Remarks
After a bound is set, unlinking an entry will cause the multi_link_registry object to enter an immutable state where further calls to add will throw an invalid_link_target exception.