All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
List of all members | Public Member Functions
GraphItem Class Reference

Detailed Description

This class describes the concept of Node, Arc and Edge subtypes of digraph and 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 that Node and Arc (or Edge) types should not derive from the same base class. For Node you should instantiate it with character 'n', for Arc with 'a' and for Edge with 'e'.

#include <lemon/concepts/graph_components.h>

+ Inheritance diagram for GraphItem:

Public Member Functions

 GraphItem ()
 Default constructor.
 
 GraphItem (const GraphItem &)
 
 GraphItem (Invalid)
 Constructor for conversion from INVALID.
 
GraphItemoperator= (const GraphItem &)
 Assignment operator.
 
GraphItemoperator= (Invalid)
 Assignment operator for INVALID.
 
bool operator== (const GraphItem &) const
 
bool operator!= (const GraphItem &) const
 
bool operator< (const GraphItem &) const
 Ordering operator.
 

Constructor & Destructor Documentation

GraphItem ( )
inline

Default constructor.

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

Constructor for conversion from INVALID. It initializes the item to be invalid.

See Also
Invalid for more details.

Member Function Documentation

GraphItem& operator= ( const GraphItem )
inline

Assignment operator for the item.

GraphItem& operator= ( Invalid  )
inline

This operator makes the item invalid.

bool operator== ( const GraphItem ) const
inline

Equality operator.

bool operator!= ( const GraphItem ) const
inline

Inequality operator.

bool operator< ( const GraphItem ) const
inline

This operator defines an ordering of the items. It makes possible to use graph item types as key types in associative containers (e.g. std::map).

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