Registry for nodes, edges and adjEntries of a graph. More...
#include <ogdf/basic/Graph_d.h>
Inheritance diagram for ogdf::internal::GraphRegistry< Key, Iterable, Factor >:Public Types | |
| using | iterator = typename Iterable::iterator |
Public Types inherited from ogdf::RegistryBase< Key, Registry, Iterator > | |
| using | iterator_type = Iterator |
| using | key_type = Key |
| using | registered_array_type = internal::RegisteredArrayBase< Registry > |
| using | registration_iterator_type = typename registration_list_type::iterator |
| using | registration_list_type = std::list< registered_array_type *, OGDFAllocator< registered_array_type * > > |
| using | registry_type = Registry |
Public Member Functions | |
| GraphRegistry (Graph *graph, int *nextKeyIndex) | |
| Constructor. | |
| int | calculateArraySize (int add) const |
| Graph * | graphOf () const |
| Returns a pointer to the associated graph. | |
| bool | isKeyAssociated (Key *key) const |
| int | maxKeyIndex () const |
Public Member Functions inherited from ogdf::RegistryBase< Key, Registry, Iterator > | |
| virtual | ~RegistryBase () noexcept |
| Destructor. Unregisters all associated arrays. | |
| void | copyArrayEntries (int toIndex, int fromIndex) |
Copies the entry from fromIndex to toIndex in all registered arrays. | |
| int | getArraySize () const |
| Returns the current size of all registered arrays. | |
| const registration_list_type & | getRegisteredArrays () const |
| Returns a reference to the list of all registered arrays. | |
| bool | isAutoShrink () const |
| Returns whether the registry allows arrays to shrink when keys are removed. | |
| void | keyAdded (Key key) |
| Records the addition of a new key and resizes all registered arrays if necessary. | |
| void | keyRemoved (Key key) |
| Records the deletion of a key and resizes all registered arrays if auto shrink is enabled. | |
| void | keysCleared () |
| Records that all keys have been cleared. If auto shrink is enabled, all arrays are cleared and resized to 0. | |
| void | moveRegisterArray (registration_iterator_type it, registered_array_type *pArray) const |
Stores array pArray at position it in the list of registered arrays. | |
| OGDF_NODISCARD registration_iterator_type | registerArray (registered_array_type *pArray) const |
| Registers a new array with this registry. | |
| void | reserveSpace (int new_keys) |
Resizes all arrays to make space of new_keys new keys. | |
| void | resizeArrays () |
| Resizes all arrays to the size requested by calculateArraySize(). Only shrinks the arrays if auto shrink is enabled. | |
| void | resizeArrays (int size) |
Resizes all arrays to size. Only shrinks the arrays if auto shrink is enabled. | |
| void | resizeArrays (int size, bool shrink) |
Resizes all arrays to size. If shrink is true, the arrays may also shrink. | |
| void | setAutoShrink (bool mAutoShrink) |
| Specifies whether the registry allows arrays to shrink when keys are removed. | |
| void | swapArrayEntries (int index1, int index2) |
Swaps the entries at index1 and index2 in all registered arrays. | |
| void | unregisterArray (registration_iterator_type it) const noexcept |
| Unregisters an array associated with this registry. | |
| void | unregisterArrays () noexcept |
| Unregister all associated arrays. | |
Public Member Functions inherited from ogdf::Observable< RegisteredObserver< Registry >, Registry > | |
| Observable ()=default | |
| Observable (const Observable ©)=delete | |
| If you want to copy a subclass of Observable, call the default Observable() constructor. | |
| Observable (Observable &&move)=delete | |
| If you want to move a subclass of Observable, call the default Observable() constructor. | |
| virtual | ~Observable () |
| Note that all Observers must already be removed once the destructor of this base class is invoked (e.g. | |
| Observable & | operator= (const Observable ©)=delete |
| Observable & | operator= (Observable &&move)=delete |
Static Public Member Functions | |
| static int | keyToIndex (Key *key) |
Private Attributes | |
| int * | m_nextKeyIndex |
| Graph * | m_pGraph |
Additional Inherited Members | |
Protected Member Functions inherited from ogdf::RegistryBase< Key, Registry, Iterator > | |
| RegistryBase ()=default | |
Protected Member Functions inherited from ogdf::Observable< RegisteredObserver< Registry >, Registry > | |
| void | clearObservers () |
| const ListPure< RegisteredObserver< Registry > * > & | getObservers () const |
| ListPure< RegisteredObserver< Registry > * >::iterator | registerObserver (RegisteredObserver< Registry > *obs) const |
| Registers an observer. | |
| void | unregisterObserver (typename ListPure< RegisteredObserver< Registry > * >::iterator it) const |
| Unregisters an observer. | |
Registry for nodes, edges and adjEntries of a graph.
| Key | the type of registered key |
| Iterable | the type of iterable container with registered keys |
| Factor | How many array entries are created for each inserted element. This is set to 2 for GraphAdjRegistry, such that only one adjEntry has to be added and the twin adjEntry is registered automatically. |
| using ogdf::internal::GraphRegistry< Key, Iterable, Factor >::iterator = typename Iterable::iterator |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlinestatic |
|
inline |
|
private |
|
private |