GCC Middle and Back End API Reference
cluster< GraphTraits > Class Template Referenceabstract

#include <digraph.h>

Inheritance diagram for cluster< GraphTraits >:

Public Types

typedef GraphTraits::node_t node_t
 
typedef GraphTraits::dump_args_t dump_args_t
 

Public Member Functions

virtual ~cluster ()
 
virtual void add_node (node_t *node)=0
 
virtual void dump_dot (graphviz_out *gv, const dump_args_t &) const =0
 

Detailed Description

template<typename GraphTraits>
class cluster< GraphTraits >
Abstract base class for splitting dnodes into hierarchical clusters
in the generated .dot file.

See "Subgraphs and Clusters" within
  https://www.graphviz.org/doc/info/lang.html
and e.g.
  https://graphviz.gitlab.io/_pages/Gallery/directed/cluster.html

If a root_cluster is passed to dump_dot*, then all nodes will be
added to it at the start of dumping, via calls to add_node.

The root cluster can organize the nodes into a hierarchy of
child clusters.

After all nodes are added to the root cluster, dump_dot will then
be called on it (and not on the nodes themselves).   

Member Typedef Documentation

◆ dump_args_t

template<typename GraphTraits >
typedef GraphTraits::dump_args_t cluster< GraphTraits >::dump_args_t

◆ node_t

template<typename GraphTraits >
typedef GraphTraits::node_t cluster< GraphTraits >::node_t

Constructor & Destructor Documentation

◆ ~cluster()

template<typename GraphTraits >
virtual cluster< GraphTraits >::~cluster ( )
inlinevirtual

Member Function Documentation

◆ add_node()

template<typename GraphTraits >
virtual void cluster< GraphTraits >::add_node ( node_t * node)
pure virtual

◆ dump_dot()

template<typename GraphTraits >
virtual void cluster< GraphTraits >::dump_dot ( graphviz_out * gv,
const dump_args_t &  ) const
pure virtual

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