GraphItem Class Reference


Detailed Description

This class describes the interface of Node and Edge (and UEdge in undirected graphs) subtypes of graph types.

Note:
This class is a template class so that we can use it to create graph skeleton classes. The reason for this is than Node and Edge types should not derive from the same base class. For Node you should instantiate it with character 'n' and for Edge with 'e'.
#include <lemon/concepts/graph_components.h>

Inheritance diagram for GraphItem:

Inheritance graph
[legend]

List of all members.

Public Member Functions

 GraphItem ()
 Default constructor.
 GraphItem (const GraphItem &)
 GraphItem (Invalid)
 Invalid constructor & conversion.
GraphItemoperator= (GraphItem const &)
 Assign operator for nodes.
bool operator== (GraphItem) const
 Equality operator.
bool operator!= (GraphItem) const
 Inequality operator.
bool operator< (GraphItem) const
 Artificial ordering operator.


Constructor & Destructor Documentation

GraphItem (  )  [inline]

Warning:
The default constructor is not required to set the item to some well-defined value. So you should consider it as uninitialized.

GraphItem ( const GraphItem  )  [inline]

Copy constructor.

GraphItem ( Invalid   )  [inline]

This constructor initializes the item to be invalid.

See also:
Invalid for more details.


Member Function Documentation

GraphItem& operator= ( GraphItem const &   )  [inline]

The nodes are assignable.

Reimplemented in UEdge, ANode, and BNode.

bool operator== ( GraphItem   )  const [inline]

Two iterators are equal if and only if they represents the same node in the graph or both are invalid.

bool operator!= ( GraphItem   )  const [inline]

See also:
operator==(const Node& n)

bool operator< ( GraphItem   )  const [inline]

To allow the use of graph descriptors as key type in std::map or similar associative container we require this.

Note:
This operator only have to define some strict ordering of the items; this order has nothing to do with the iteration ordering of the items.


Generated on Thu Jun 4 04:06:49 2009 for LEMON by  doxygen 1.5.9