| STLdoc
    STLdocumentation | 
The multi_link_registry object is a network_link_registry that manages multiple source blocks or multiple target blocks.  
 More...
#include <agents.h>
 
  
 | Public Member Functions | |
| multi_link_registry () | |
| Constructs a multi_link_registryobject.  More... | |
| virtual | ~multi_link_registry () | 
| Destroys the multi_link_registryobject.  More... | |
| void | set_bound (size_t _MaxLinks) | 
| Sets an upper bound on the number of links that the multi_link_registryobject can hold.  More... | |
| virtual void | add (typename network_link_registry< _Block >::_EType _Link) | 
| Adds a link to the multi_link_registryobject.  More... | |
| virtual bool | remove (typename network_link_registry< _Block >::_EType _Link) | 
| Removes a link from the multi_link_registryobject.  More... | |
| virtual bool | contains (typename network_link_registry< _Block >::_EType _Link) | 
| Searches the multi_link_registryobject for a specified block.  More... | |
| virtual size_t | count () | 
| Counts the number of items in the multi_link_registryobject.  More... | |
| virtual network_link_registry< _Block >::iterator | begin () | 
| Returns an iterator to the first element in the multi_link_registryobject.  More... | |
|  Public Member Functions inherited from Concurrency::network_link_registry< _Block > | |
| virtual void | add (_EType _Link)=0 | 
| When overridden in a derived class, adds a link to the network_link_registryobject.  More... | |
| virtual bool | remove (_EType _Link)=0 | 
| When overridden in a derived class, removes a specified block from the network_link_registryobject.  More... | |
| virtual bool | contains (_EType _Link)=0 | 
| When overridden in a derived class, searches the network_link_registryobject for a specified block.  More... | |
| Protected Member Functions | |
| virtual void | _Next_index (size_t &_Index) | 
| Skips empty slots and updates the index to the next non-empty slot. This is called by the iterator.  More... | |
| virtual network_link_registry< _Block >::_EType | _Get_element (size_t _Index) const | 
| Retrieves the element at the given index. If the index is out of bounds, NULLis returned. Users need to use the iterator to access the links  More... | |
| Private Member Functions | |
| void | _Add (typename network_link_registry< _Block >::_EType _Link) | 
| Adds a link to the multi_link_registryobject.  More... | |
| bool | _Remove (typename network_link_registry< _Block >::_EType _Link) | 
| Removes a link from the multi_link_registryMore... | |
| virtual size_t | _Find (typename network_link_registry< _Block >::_EType _Link) | 
| Searches the registry for the given link  More... | |
| size_t | _Count () const | 
| Returns the count of items in the registry.  More... | |
| Private Attributes | |
| size_t | _M_maxLinks | 
| ::Concurrency::details::_Dynamic_array< typename network_link_registry< _Block >::_EType > | _M_vector | 
| Static Private Attributes | |
| static const size_t | _NOT_SET = SIZE_MAX | 
| Additional Inherited Members | |
|  Public Types inherited from Concurrency::network_link_registry< _Block > | |
| typedef _Block | type | 
| A type that represents the block type stored in the network_link_registryobject.  More... | |
| typedef _Block * | _EType | 
| A type that represents an element pointer stored in the network_link_registryobject.  More... | |
| typedef _EType const & | const_reference | 
| A type that provides a reference to a constelement stored in anetwork_link_registryobject for reading and performing const operations.  More... | |
| typedef _EType const * | const_pointer | 
| A type that provides a pointer to a constelement in anetwork_link_registryobject.  More... | |
| typedef _Network_link_iterator< _Block > | iterator | 
| A type that provides an iterator that can read or modify any element in a network_link_registryobject.  More... | |
The multi_link_registry object is a network_link_registry that manages multiple source blocks or multiple target blocks. 
| _Block | The block data type being stored in the multi_link_registryobject. | 
| 
 | inline | 
Constructs a multi_link_registry object. 
| 
 | inlinevirtual | 
Destroys the multi_link_registry object. 
The method throws an invalid_operation exception if called before all links are removed.
| 
 | inlineprivate | 
Adds a link to the multi_link_registry object. 
| _Link | A pointer to a block to be added. | 
| 
 | inlineprivate | 
Returns the count of items in the registry.
| 
 | inlineprivatevirtual | 
Searches the registry for the given link
| _Link | A pointer to a block that is to be searched. | 
| 
 | inlineprotectedvirtual | 
Retrieves the element at the given index. If the index is out of bounds, NULL is returned. Users need to use the iterator to access the links 
| _Index | Index of the link to be retrieved. | 
Implements Concurrency::network_link_registry< _Block >.
| 
 | inlineprotectedvirtual | 
Skips empty slots and updates the index to the next non-empty slot. This is called by the iterator.
| _Index | A reference to the index that is to be updated. | 
Implements Concurrency::network_link_registry< _Block >.
| 
 | inlineprivate | 
Removes a link from the multi_link_registry 
| _Link | A pointer to a block to be removed, if found. | 
true if the specified link was found and removed, false otherwise. | 
 | inlinevirtual | 
Adds a link to the multi_link_registry object. 
| _Link | A pointer to a block to be added. | 
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. 
| 
 | inlinevirtual | 
Returns an iterator to the first element in the multi_link_registry object. 
The end state is indicated by a NULL link. 
multi_link_registry object. Implements Concurrency::network_link_registry< _Block >.
| 
 | inlinevirtual | 
Searches the multi_link_registry object for a specified block. 
| _Link | A pointer to a block that is to be searched for in the multi_link_registryobject. | 
true if the specified block was found, false otherwise. | 
 | inlinevirtual | 
Counts the number of items in the multi_link_registry object. 
multi_link_registry object. Implements Concurrency::network_link_registry< _Block >.
| 
 | inlinevirtual | 
Removes a link from the multi_link_registry object. 
| _Link | A pointer to a block to be removed, if found. | 
true if the link was found and removed, false otherwise. | 
 | inline | 
Sets an upper bound on the number of links that the multi_link_registry object can hold. 
| _MaxLinks | The maximum number of links that the multi_link_registryobject can hold. | 
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. 
| 
 | private | 
| 
 | private | 
| 
 | staticprivate | 
 1.8.8
 1.8.8