GraphItem Class Reference

- Main Page
- Modules
- Classes
- Namespaces
- Files
- Related Pages

- Class List
- Class Index
- Class Hierarchy
- Class Members

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:
[legend]

## Public Member Functions
| GraphItem ()
| Default constructor. More...
| GraphItem (const GraphItem &)
| Copy constructor. More...
| GraphItem (Invalid)
| Constructor for conversion from `INVALID`. More...
GraphItem & | operator= (const GraphItem &)
| Assignment operator. More...
GraphItem & | operator= (Invalid)
| Assignment operator for INVALID. More...
bool | operator== (const GraphItem &) const
| Equality operator. More...
bool | operator!= (const GraphItem &) const
| Inequality operator. More...
bool | operator< (const GraphItem &) const
| Ordering operator. More...

## 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.