Graph< NodeDataType, EdgeDataType, directed, multi_edges > Class Template Reference

#include <graph.h>

List of all members.

Public Types

typedef Node< NodeDataType,
EdgeDataType, multi_edges > 
NodeType
typedef Edge< NodeDataType,
EdgeDataType, multi_edges > 
EdgeType

Public Member Functions

set< NodeType >::iterator add_node (unsigned int index, const NodeDataType &data=NodeDataType())
const NodeTypeget_node (unsigned int index) const
set< EdgeType >::iterator add_edge (typename set< NodeType >::iterator node1, typename set< NodeType >::iterator node2, const EdgeDataType &data=EdgeDataType())
set< EdgeType >::iterator add_edge (unsigned int index1, unsigned int index2, const EdgeDataType &data=EdgeDataType())
int n () const
 The number of nodes.
int m () const
 The number of edges.
void clear ()

Public Attributes

set< NodeTypenodes
set< EdgeTypeedges

Friends

ostream & operator<< (ostream &out, const Graph< NodeDataType, EdgeDataType, directed, multi_edges > &g)


Detailed Description

template<typename NodeDataType = int, typename EdgeDataType = int, bool directed = false, bool multi_edges = false>
class Graph< NodeDataType, EdgeDataType, directed, multi_edges >

Definition at line 127 of file graph.h.


Member Typedef Documentation

template<typename NodeDataType = int, typename EdgeDataType = int, bool directed = false, bool multi_edges = false>
typedef Node<NodeDataType, EdgeDataType, multi_edges> Graph< NodeDataType, EdgeDataType, directed, multi_edges >::NodeType

Definition at line 136 of file graph.h.

template<typename NodeDataType = int, typename EdgeDataType = int, bool directed = false, bool multi_edges = false>
typedef Edge<NodeDataType, EdgeDataType, multi_edges> Graph< NodeDataType, EdgeDataType, directed, multi_edges >::EdgeType

Definition at line 137 of file graph.h.


Member Function Documentation

template<typename NodeDataType, typename EdgeDataType, bool directed, bool multi_edges>
set< Node< NodeDataType, EdgeDataType, multi_edges > >::iterator Graph< NodeDataType, EdgeDataType, directed, multi_edges >::add_node ( unsigned int  index,
const NodeDataType &  data = NodeDataType() 
)

Definition at line 163 of file graph.h.

References Graph< NodeDataType, EdgeDataType, directed, multi_edges >::nodes.

Referenced by Graph< NodeDataType, EdgeDataType, directed, multi_edges >::add_edge().

template<typename NodeDataType, typename EdgeDataType, bool directed, bool multi_edges>
const Node< NodeDataType, EdgeDataType, multi_edges > & Graph< NodeDataType, EdgeDataType, directed, multi_edges >::get_node ( unsigned int  index  )  const

Definition at line 170 of file graph.h.

References Graph< NodeDataType, EdgeDataType, directed, multi_edges >::nodes.

template<typename NodeDataType, typename EdgeDataType, bool directed, bool multi_edges>
set< Edge< NodeDataType, EdgeDataType, multi_edges > >::iterator Graph< NodeDataType, EdgeDataType, directed, multi_edges >::add_edge ( typename set< NodeType >::iterator  node1,
typename set< NodeType >::iterator  node2,
const EdgeDataType &  data = EdgeDataType() 
)

Definition at line 178 of file graph.h.

References Graph< NodeDataType, EdgeDataType, directed, multi_edges >::edges.

Referenced by Graph< NodeDataType, EdgeDataType, directed, multi_edges >::add_edge().

template<typename NodeDataType, typename EdgeDataType, bool directed, bool multi_edges>
set< Edge< NodeDataType, EdgeDataType, multi_edges > >::iterator Graph< NodeDataType, EdgeDataType, directed, multi_edges >::add_edge ( unsigned int  index1,
unsigned int  index2,
const EdgeDataType &  data = EdgeDataType() 
)

Definition at line 194 of file graph.h.

References Graph< NodeDataType, EdgeDataType, directed, multi_edges >::add_edge(), and Graph< NodeDataType, EdgeDataType, directed, multi_edges >::add_node().

template<typename NodeDataType = int, typename EdgeDataType = int, bool directed = false, bool multi_edges = false>
int Graph< NodeDataType, EdgeDataType, directed, multi_edges >::n (  )  const [inline]

The number of nodes.

Returns:
Then number of nodes: nodes.size().

Definition at line 151 of file graph.h.

References Graph< NodeDataType, EdgeDataType, directed, multi_edges >::nodes.

template<typename NodeDataType = int, typename EdgeDataType = int, bool directed = false, bool multi_edges = false>
int Graph< NodeDataType, EdgeDataType, directed, multi_edges >::m (  )  const [inline]

The number of edges.

Returns:
The number of edges: edges.size().

Definition at line 156 of file graph.h.

References Graph< NodeDataType, EdgeDataType, directed, multi_edges >::edges.

template<typename NodeDataType = int, typename EdgeDataType = int, bool directed = false, bool multi_edges = false>
void Graph< NodeDataType, EdgeDataType, directed, multi_edges >::clear (  )  [inline]

Definition at line 158 of file graph.h.

References Graph< NodeDataType, EdgeDataType, directed, multi_edges >::edges, and Graph< NodeDataType, EdgeDataType, directed, multi_edges >::nodes.


Friends And Related Function Documentation

template<typename NodeDataType = int, typename EdgeDataType = int, bool directed = false, bool multi_edges = false>
ostream& operator<< ( ostream &  out,
const Graph< NodeDataType, EdgeDataType, directed, multi_edges > &  g 
) [friend]

Definition at line 128 of file graph.h.


Member Data Documentation

template<typename NodeDataType = int, typename EdgeDataType = int, bool directed = false, bool multi_edges = false>
set<NodeType> Graph< NodeDataType, EdgeDataType, directed, multi_edges >::nodes

Definition at line 139 of file graph.h.

Referenced by Graph< NodeDataType, EdgeDataType, directed, multi_edges >::add_node(), Graph< NodeDataType, EdgeDataType, directed, multi_edges >::clear(), Graph< NodeDataType, EdgeDataType, directed, multi_edges >::get_node(), and Graph< NodeDataType, EdgeDataType, directed, multi_edges >::n().

template<typename NodeDataType = int, typename EdgeDataType = int, bool directed = false, bool multi_edges = false>
set<EdgeType> Graph< NodeDataType, EdgeDataType, directed, multi_edges >::edges

Definition at line 140 of file graph.h.

Referenced by Graph< NodeDataType, EdgeDataType, directed, multi_edges >::add_edge(), Graph< NodeDataType, EdgeDataType, directed, multi_edges >::clear(), and Graph< NodeDataType, EdgeDataType, directed, multi_edges >::m().


The documentation for this class was generated from the following file:
Generated on Mon Oct 20 03:12:33 2008 for LaGO by  doxygen 1.4.7