| 
    STLdoc
    
   STLdocumentation 
   | 
 
The network_link_registry abstract base class manages the links between source and target blocks.  
 More...
#include <agents.h>
  
 Public Types | |
| typedef _Block | type | 
A type that represents the block type stored in the network_link_registry object.  More... | |
| typedef _Block * | _EType | 
A type that represents an element pointer stored in the network_link_registry object.  More... | |
| typedef _EType const & | const_reference | 
A type that provides a reference to a const element stored in a network_link_registry object for reading and performing const operations.  More... | |
| typedef _EType const * | const_pointer | 
A type that provides a pointer to a const element in a network_link_registry object.  More... | |
| typedef _Network_link_iterator< _Block > | iterator | 
A type that provides an iterator that can read or modify any element in a network_link_registry object.  More... | |
Public Member Functions | |
| virtual void | add (_EType _Link)=0 | 
When overridden in a derived class, adds a link to the network_link_registry object.  More... | |
| virtual bool | remove (_EType _Link)=0 | 
When overridden in a derived class, removes a specified block from the network_link_registry object.  More... | |
| virtual bool | contains (_EType _Link)=0 | 
When overridden in a derived class, searches the network_link_registry object for a specified block.  More... | |
| virtual size_t | count ()=0 | 
When overridden in a derived class, returns the number of items in the network_link_registry object.  More... | |
| virtual iterator | begin ()=0 | 
When overridden in a derived class, returns an iterator to the first element in the network_link_registry object.  More... | |
Protected Member Functions | |
| virtual void | _Next_index (size_t &_Index)=0 | 
| Skips empty slots and updates the index to the next non-empty slot. This is called by the iterator.  More... | |
| virtual _EType | _Get_element (size_t _Index) const =0 | 
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.  More... | |
Friends | |
| class | _Network_link_iterator< _Block > | 
The network_link_registry abstract base class manages the links between source and target blocks. 
| _Block | The block data type being stored in the network_link_registry.  | 
The network link registry is not safe for concurrent access. 
| typedef _Block* Concurrency::network_link_registry< _Block >::_EType | 
A type that represents an element pointer stored in the network_link_registry object. 
| typedef _EType const* Concurrency::network_link_registry< _Block >::const_pointer | 
A type that provides a pointer to a const element in a network_link_registry object. 
| typedef _EType const& Concurrency::network_link_registry< _Block >::const_reference | 
A type that provides a reference to a const element stored in a network_link_registry object for reading and performing const operations. 
| typedef _Network_link_iterator<_Block> Concurrency::network_link_registry< _Block >::iterator | 
A type that provides an iterator that can read or modify any element in a network_link_registry object. 
| typedef _Block Concurrency::network_link_registry< _Block >::type | 
A type that represents the block type stored in the network_link_registry object. 
      
  | 
  protectedpure virtual | 
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. | 
Implemented in Concurrency::multi_link_registry< _Block >, Concurrency::multi_link_registry< ITarget< size_t > >, Concurrency::multi_link_registry< ITarget< _Type > >, Concurrency::multi_link_registry< ISource< _Type > >, Concurrency::multi_link_registry< ISource< size_t > >, Concurrency::multi_link_registry< ISource< _Input > >, Concurrency::multi_link_registry< ISource< agent_status > >, Concurrency::multi_link_registry< ITarget< agent_status > >, Concurrency::single_link_registry< _Block >, Concurrency::single_link_registry< ITarget< size_t > >, Concurrency::single_link_registry< ITarget< _Type > >, Concurrency::single_link_registry< ITarget< _Output > >, Concurrency::single_link_registry< ITarget< std::vector< _Type > > >, and Concurrency::single_link_registry< ITarget< _Destination_type > >.
      
  | 
  protectedpure virtual | 
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. | 
Implemented in Concurrency::multi_link_registry< _Block >, Concurrency::multi_link_registry< ITarget< size_t > >, Concurrency::multi_link_registry< ITarget< _Type > >, Concurrency::multi_link_registry< ISource< _Type > >, Concurrency::multi_link_registry< ISource< size_t > >, Concurrency::multi_link_registry< ISource< _Input > >, Concurrency::multi_link_registry< ISource< agent_status > >, Concurrency::multi_link_registry< ITarget< agent_status > >, Concurrency::single_link_registry< _Block >, Concurrency::single_link_registry< ITarget< size_t > >, Concurrency::single_link_registry< ITarget< _Type > >, Concurrency::single_link_registry< ITarget< _Output > >, Concurrency::single_link_registry< ITarget< std::vector< _Type > > >, and Concurrency::single_link_registry< ITarget< _Destination_type > >.
      
  | 
  pure virtual | 
When overridden in a derived class, adds a link to the network_link_registry object. 
| _Link | A pointer to a block to be added. | 
      
  | 
  pure virtual | 
When overridden in a derived class, returns an iterator to the first element in the network_link_registry object. 
The end state of the iterator is indicated by a NULL link. 
network_link_registry object. Implemented in Concurrency::multi_link_registry< _Block >, Concurrency::multi_link_registry< ITarget< size_t > >, Concurrency::multi_link_registry< ITarget< _Type > >, Concurrency::multi_link_registry< ISource< _Type > >, Concurrency::multi_link_registry< ISource< size_t > >, Concurrency::multi_link_registry< ISource< _Input > >, Concurrency::multi_link_registry< ISource< agent_status > >, Concurrency::multi_link_registry< ITarget< agent_status > >, Concurrency::single_link_registry< _Block >, Concurrency::single_link_registry< ITarget< size_t > >, Concurrency::single_link_registry< ITarget< _Type > >, Concurrency::single_link_registry< ITarget< _Output > >, Concurrency::single_link_registry< ITarget< std::vector< _Type > > >, and Concurrency::single_link_registry< ITarget< _Destination_type > >.
      
  | 
  pure virtual | 
When overridden in a derived class, searches the network_link_registry object for a specified block. 
| _Link | A pointer to a block that is being searched for in the network_link_registry object.  | 
true if the block was found, false otherwise. 
      
  | 
  pure virtual | 
When overridden in a derived class, returns the number of items in the network_link_registry object. 
network_link_registry object. Implemented in Concurrency::multi_link_registry< _Block >, Concurrency::multi_link_registry< ITarget< size_t > >, Concurrency::multi_link_registry< ITarget< _Type > >, Concurrency::multi_link_registry< ISource< _Type > >, Concurrency::multi_link_registry< ISource< size_t > >, Concurrency::multi_link_registry< ISource< _Input > >, Concurrency::multi_link_registry< ISource< agent_status > >, Concurrency::multi_link_registry< ITarget< agent_status > >, Concurrency::single_link_registry< _Block >, Concurrency::single_link_registry< ITarget< size_t > >, Concurrency::single_link_registry< ITarget< _Type > >, Concurrency::single_link_registry< ITarget< _Output > >, Concurrency::single_link_registry< ITarget< std::vector< _Type > > >, and Concurrency::single_link_registry< ITarget< _Destination_type > >.
      
  | 
  pure virtual | 
When overridden in a derived class, removes a specified block from the network_link_registry object. 
| _Link | A pointer to a block to be removed, if found. | 
true if the link was found and removed, false otherwise. 
      
  | 
  friend | 
 1.8.8