hpp::core::ConnectedComponent Class Reference

Connected component. More...

#include <hpp/core/connected-component.hh>

Public Types

typedef std::list< NodePtr_tNodes_t
 

Public Member Functions

void merge (const ConnectedComponentPtr_t &other)
 Merge two connected components. More...
 
void addNode (const NodePtr_t &node)
 Add node in connected component. More...
 
const Nodes_tnodes () const
 Access to the nodes. More...
 
Reachability
bool canReach (const ConnectedComponentPtr_t &cc)
 Whether this connected component can reach cc. More...
 
bool canReach (const ConnectedComponentPtr_t &cc, ConnectedComponents_t &cc2Tocc1)
 Whether this connected component can reach cc. More...
 
const ConnectedComponents_treachableTo () const
 
const ConnectedComponents_treachableFrom () const
 

Static Public Member Functions

static ConnectedComponentPtr_t create ()
 

Static Public Attributes

static unsigned int globalFinishTime_
 

Protected Member Functions

 ConnectedComponent ()
 Constructor. More...
 
void init (const ConnectedComponentPtr_t &shPtr)
 

Friends

void clean (ConnectedComponents_t &set)
 

Detailed Description

Connected component.

Set of nodes reachable from one another.

Member Typedef Documentation

◆ Nodes_t

Constructor & Destructor Documentation

◆ ConnectedComponent()

hpp::core::ConnectedComponent::ConnectedComponent ( )
inlineprotected

Constructor.

Member Function Documentation

◆ addNode()

void hpp::core::ConnectedComponent::addNode ( const NodePtr_t node)
inline

Add node in connected component.

Parameters
nodenode to add.

◆ canReach() [1/2]

bool hpp::core::ConnectedComponent::canReach ( const ConnectedComponentPtr_t cc)

Whether this connected component can reach cc.

Parameters
cca connected component

◆ canReach() [2/2]

bool hpp::core::ConnectedComponent::canReach ( const ConnectedComponentPtr_t cc,
ConnectedComponents_t cc2Tocc1 
)

Whether this connected component can reach cc.

Parameters
cca connected component
Return values
cc2Tocc1list of connected components between cc2 and cc1 that should be merged.

◆ create()

static ConnectedComponentPtr_t hpp::core::ConnectedComponent::create ( )
inlinestatic

References init().

◆ init()

void hpp::core::ConnectedComponent::init ( const ConnectedComponentPtr_t shPtr)
inlineprotected

Referenced by create().

◆ merge()

void hpp::core::ConnectedComponent::merge ( const ConnectedComponentPtr_t other)

Merge two connected components.

Parameters
otherconnected component to merge into this one.
Note
other will be empty after calling this method.

◆ nodes()

const Nodes_t& hpp::core::ConnectedComponent::nodes ( ) const
inline

Access to the nodes.

◆ reachableFrom()

const ConnectedComponents_t& hpp::core::ConnectedComponent::reachableFrom ( ) const
inline

◆ reachableTo()

const ConnectedComponents_t& hpp::core::ConnectedComponent::reachableTo ( ) const
inline

Friends And Related Function Documentation

◆ clean

void clean ( ConnectedComponents_t set)
friend

Member Data Documentation

◆ globalFinishTime_

unsigned int hpp::core::ConnectedComponent::globalFinishTime_
static