Registry for nodes and edges of a hypergraph. More...
#include <ogdf/hypergraph/Hypergraph.h>
Public Types | |
using | iterator = internal::GraphIterator< Key * > |
Public Types inherited from ogdf::RegistryBase< Key *, HypergraphRegistry< Key >, internal::GraphIterator< Key * > > | |
using | iterator_type = internal::GraphIterator< Key * > |
using | key_type = Key * |
using | registered_array_type = internal::RegisteredArrayBase< HypergraphRegistry< Key > > |
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 = HypergraphRegistry< Key > |
Public Member Functions | |
HypergraphRegistry (Hypergraph *graph, int *nextKeyIndex) | |
Constructor. More... | |
int | calculateArraySize (int add) const |
Hypergraph * | graphOf () const |
Returns a pointer to the associated hypergraph. More... | |
bool | isKeyAssociated (Key *key) const |
int | maxKeyIndex () const |
Public Member Functions inherited from ogdf::RegistryBase< Key *, HypergraphRegistry< Key >, internal::GraphIterator< Key * > > | |
RegistryBase (const RegistryBase ©)=delete | |
RegistryBase (RegistryBase &&move) noexcept=delete | |
virtual | ~RegistryBase () noexcept |
Destructor. Unregisters all associated arrays. More... | |
void | copyArrayEntries (int toIndex, int fromIndex) |
Copies the entry from fromIndex to toIndex in all registered arrays. More... | |
int | getArraySize () const |
Returns the current size of all registered arrays. More... | |
const registration_list_type & | getRegisteredArrays () const |
Returns a reference to the list of all registered arrays. More... | |
bool | isAutoShrink () const |
Returns whether the registry allows arrays to shrink when keys are removed. More... | |
void | keyAdded (Key * key) |
Records the addition of a new key and resizes all registered arrays if necessary. More... | |
void | keyRemoved (Key * key) |
Records the deletion of a key and resizes all registered arrays if auto shrink is enabled. More... | |
void | keysCleared () |
Records that all keys have been cleared. If auto shrink is enabled, all arrays are cleared and resized to 0. More... | |
void | moveRegisterArray (registration_iterator_type it, registered_array_type *pArray) const |
Stores array pArray at position it in the list of registered arrays. More... | |
RegistryBase & | operator= (const RegistryBase &other)=delete |
RegistryBase & | operator= (RegistryBase &&other) noexcept=delete |
OGDF_NODISCARD registration_iterator_type | registerArray (registered_array_type *pArray) const |
Registers a new array with this registry. More... | |
void | reserveSpace (int new_keys) |
Resizes all arrays to make space of new_keys new keys. More... | |
void | resizeArrays () |
Resizes all arrays to the size requested by calculateArraySize(). Only shrinks the arrays if auto shrink is enabled. More... | |
void | resizeArrays (int size) |
Resizes all arrays to size . Only shrinks the arrays if auto shrink is enabled. More... | |
void | resizeArrays (int size, bool shrink) |
Resizes all arrays to size . If shrink is true , the arrays may also shrink. More... | |
void | setAutoShrink (bool mAutoShrink) |
Specifies whether the registry allows arrays to shrink when keys are removed. More... | |
void | swapArrayEntries (int index1, int index2) |
Swaps the entries at index1 and index2 in all registered arrays. More... | |
void | unregisterArray (registration_iterator_type it) const noexcept |
Unregisters an array associated with this registry. More... | |
void | unregisterArrays () noexcept |
Unregister all associated arrays. More... | |
Static Public Member Functions | |
static int | keyToIndex (Key *key) |
Private Attributes | |
int * | m_nextKeyIndex |
Hypergraph * | m_pGraph |
Additional Inherited Members | |
Protected Member Functions inherited from ogdf::RegistryBase< Key *, HypergraphRegistry< Key >, internal::GraphIterator< Key * > > | |
RegistryBase ()=default | |
Registry for nodes and edges of a hypergraph.
Definition at line 329 of file Hypergraph.h.
using ogdf::HypergraphRegistry< Key >::iterator = internal::GraphIterator<Key*> |
Definition at line 335 of file Hypergraph.h.
|
inline |
Constructor.
Definition at line 338 of file Hypergraph.h.
|
inline |
Definition at line 359 of file Hypergraph.h.
|
inline |
Returns a pointer to the associated hypergraph.
Definition at line 364 of file Hypergraph.h.
|
inline |
Definition at line 343 of file Hypergraph.h.
|
inlinestatic |
Definition at line 341 of file Hypergraph.h.
|
inline |
Definition at line 361 of file Hypergraph.h.
|
private |
Definition at line 332 of file Hypergraph.h.
|
private |
Definition at line 331 of file Hypergraph.h.