Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

ogdf::steiner_tree::FullComponentWithExtraStore< T, ExtraDataType > Class Template Reference

A data structure to store full components with extra data for each component. More...

#include <ogdf/graphalg/steiner_tree/FullComponentStore.h>

+ Inheritance diagram for ogdf::steiner_tree::FullComponentWithExtraStore< T, ExtraDataType >:

Public Member Functions

ExtraDataType & extra (int i)
 Returns a reference to the extra data of this full component. More...
 
const ExtraDataType & extra (int i) const
 Returns a const reference to the extra data of this full component. More...
 
- Public Member Functions inherited from ogdf::steiner_tree::FullComponentStore< T, ExtraDataType >
 FullComponentStore (const EdgeWeightedGraph< T > &G, const List< node > &terminals, const NodeArray< bool > &isTerminal)
 
cost (int i) const
 Returns the sum of edge costs of this full component. More...
 
template<typename Fun >
void foreachAdjEntry (int i, Fun f) const
 
template<typename Fun >
void foreachEdge (int id, const NodeArray< NodeArray< edge >> &pred, Fun f) const
 
template<typename Fun >
void foreachNode (int id, const NodeArray< NodeArray< edge >> &pred, Fun f) const
 
template<typename Fun >
void foreachNode (int id, Fun f) const
 
const EdgeWeightedGraph< T > & graph () const
 
void insert (const EdgeWeightedGraphCopy< T > &comp)
 Inserts a component. Note that comp is copied and degree-2 nodes are removed. More...
 
bool isEmpty () const
 Checks if the store does not contain any full components. More...
 
bool isTerminal (int id, node t) const
 checks if a given node t is a terminal in the full component with given id More...
 
bool isTerminal (node v) const
 
node original (node v) const
 
void remove (int id)
 Removes a component by its id. More...
 
int size () const
 Returns the number of full components in the store. More...
 
adjEntry start (int i) const
 
const Array< node > & terminals (int id) const
 Returns the list of terminals in the full component with given id. More...
 

Additional Inherited Members

- Protected Member Functions inherited from ogdf::steiner_tree::FullComponentStore< T, ExtraDataType >
void copyEdges (Metadata< ExtraDataType > &data, const EdgeWeightedGraphCopy< T > &comp)
 Copy edges from comp into our representation. More...
 
void copyEdgesWithSimplifiedPaths (Metadata< ExtraDataType > &data, const EdgeWeightedGraphCopy< T > &comp, const ArrayBuffer< node > &nonterminals)
 Copy edges from comp into our representation, traversing variant to ignore degree-2 nodes. More...
 
void traverseOverDegree2Nonterminals (node &uO, T &weight, EdgeArray< bool > &marked, adjEntry adj, const EdgeWeightedGraphCopy< T > &comp) const
 Traverse over degree-2 nonterminals. More...
 
- Protected Attributes inherited from ogdf::steiner_tree::FullComponentStore< T, ExtraDataType >
ArrayBuffer< Metadata< ExtraDataType > > m_components
 List of full components (based on metadata) More...
 
EdgeWeightedGraph< T > m_graph
 Our graph representation for the full component store. More...
 
const NodeArray< bool > & m_isTerminal
 Incidence vector for terminal nodes. More...
 
NodeArray< nodem_nodeCopy
 Mapping of original terminals to m_graph nodes. More...
 
NodeArray< nodem_nodeOrig
 Mapping of m_graph nodes to original nodes. More...
 
const EdgeWeightedGraph< T > & m_originalGraph
 The original Steiner instance. More...
 
const List< node > & m_terminals
 The terminal list of the original Steiner instance. More...
 

Detailed Description

template<typename T, typename ExtraDataType>
class ogdf::steiner_tree::FullComponentWithExtraStore< T, ExtraDataType >

A data structure to store full components with extra data for each component.

Definition at line 361 of file FullComponentStore.h.

Member Function Documentation

◆ extra() [1/2]

template<typename T , typename ExtraDataType >
ExtraDataType& ogdf::steiner_tree::FullComponentWithExtraStore< T, ExtraDataType >::extra ( int  i)
inline

Returns a reference to the extra data of this full component.

Definition at line 366 of file FullComponentStore.h.

◆ extra() [2/2]

template<typename T , typename ExtraDataType >
const ExtraDataType& ogdf::steiner_tree::FullComponentWithExtraStore< T, ExtraDataType >::extra ( int  i) const
inline

Returns a const reference to the extra data of this full component.

Definition at line 373 of file FullComponentStore.h.


The documentation for this class was generated from the following file: