Honeycomb  0.1
Component-Model Framework
Public Types | Public Member Functions | Friends | List of all members
honey::DepGraph< DepNode_ >::Vertex Class Reference

A vertex is initially associated with one key and acts like a multi-map, storing all nodes and graph links of DepNodes matching that key. More...

#include <Dep.h>

Public Types

typedef stdutil::unordered_map< Vertex *, int, Alloc > LinkMap
 
typedef stdutil::unordered_map< const Vertex *, int, Alloc > LinkMapConst
 

Public Member Functions

const NodeListnodes ()
 Get all nodes that constitute this vertex. More...
 
const NodeListConstnodes () const
 
const KeyListkeys () const
 Get all keys mapped to this vertex. More...
 
auto links (DepType type=DepType::out) -> decltype(honey::keys(declval< const LinkMap >()))
 Get all vertices along in/out links. More...
 
auto links (DepType type=DepType::out) const -> decltype(honey::keys(declval< const LinkMapConst >()))
 

Friends

class DepGraph
 

Detailed Description

template<class DepNode_>
class honey::DepGraph< DepNode_ >::Vertex

A vertex is initially associated with one key and acts like a multi-map, storing all nodes and graph links of DepNodes matching that key.

After condense() is called cyclical subgraphs will be merged into one vertex. The merged vertex thus becomes associated with all keys in the subgraph.

Member Typedef Documentation

template<class DepNode_>
typedef stdutil::unordered_map<Vertex*, int, Alloc> honey::DepGraph< DepNode_ >::Vertex::LinkMap
template<class DepNode_>
typedef stdutil::unordered_map<const Vertex*, int, Alloc> honey::DepGraph< DepNode_ >::Vertex::LinkMapConst

Member Function Documentation

template<class DepNode_>
const KeyList& honey::DepGraph< DepNode_ >::Vertex::keys ( ) const
inline

Get all keys mapped to this vertex.

template<class DepNode_>
auto honey::DepGraph< DepNode_ >::Vertex::links ( DepType  type = DepType::out) -> decltype(honey::keys(declval<const LinkMap>()))
inline

Get all vertices along in/out links.

template<class DepNode_>
auto honey::DepGraph< DepNode_ >::Vertex::links ( DepType  type = DepType::out) const -> decltype(honey::keys(declval<const LinkMapConst>()))
inline
template<class DepNode_>
const NodeList& honey::DepGraph< DepNode_ >::Vertex::nodes ( )
inline

Get all nodes that constitute this vertex.

template<class DepNode_>
const NodeListConst& honey::DepGraph< DepNode_ >::Vertex::nodes ( ) const
inline

Friends And Related Function Documentation

template<class DepNode_>
friend class DepGraph
friend

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