|
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