Classes | Public Member Functions

StaticPath< GR > Class Template Reference


Detailed Description

template<typename GR>
class lemon::StaticPath< GR >

A structure for representing directed path in a digraph.

Template Parameters:
GRThe digraph type in which the path is.

In a sense, the path can be treated as a list of arcs. The lemon path type stores just this list. As a consequence it cannot enumerate the nodes in the path and the source node of a zero length path is undefined.

This implementation is completly static, i.e. it can be copy constucted or copy assigned from another path, but otherwise it cannot be modified.

Being the the most memory efficient path type in LEMON, it is intented to be used when you want to store a large number of paths.

#include <lemon/path.h>

List of all members.

Classes

class  ArcIt
 Iterator class to iterate on the arcs of the paths. More...

Public Member Functions

 StaticPath ()
 Default constructor.
template<typename CPath >
 StaticPath (const CPath &cpath)
 Template copy constructor.
 ~StaticPath ()
 Destructor of the path.
template<typename CPath >
StaticPathoperator= (const CPath &cpath)
 Template copy assignment.
const Arc & nth (int n) const
 The nth arc.
ArcIt nthIt (int n) const
 The arc iterator pointing to the nth arc.
int length () const
 The length of the path.
int empty () const
 Return true when the path is empty.
void clear ()
 Erase all arcs in the digraph.
const Arc & front () const
 The first arc of the path.
const Arc & back () const
 The last arc of the path.

Constructor & Destructor Documentation

StaticPath ( ) [inline]

Default constructor

StaticPath ( const CPath &  cpath) [inline]

This path can be initialized from any other path type.

~StaticPath ( ) [inline]

Destructor of the path


Member Function Documentation

StaticPath& operator= ( const CPath &  cpath) [inline]

This path can be made equal to any other path type. It simply makes a copy of the given path.

const Arc& nth ( int  n) const [inline]
Precondition:
n is in the [0..length() - 1] range.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines