Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

GraphItem Class Reference

#include <lemon/concept/graph_component.h>

List of all members.


Detailed Description

This class describes the interface of Node and Edge (and UndirEdge 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'.


Public Member Functions

 GraphItem ()
 Default constructor.
 GraphItem (GraphItem const &)
 Copy constructor.
 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 GraphItem const &   )  [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.

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.
Bug:
This is a technical requirement. Do we really need this?


The documentation for this class was generated from the following file:
Generated on Sat Aug 27 14:16:39 2005 for LEMON by  doxygen 1.4.4