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

Detailed Description

Class to make a snapshot of the digraph and restore it later.

The newly added nodes and arcs can be removed using the restore() function.

Warning
Arc and node deletions and other modifications (e.g. contracting, splitting, reversing arcs or nodes) cannot be restored. These events invalidate the snapshot.

#include <lemon/list_graph.h>

Public Member Functions

 Snapshot ()
 Default constructor.
 
 Snapshot (ListDigraph &_digraph)
 Constructor that immediately makes a snapshot.
 
void save (ListDigraph &_digraph)
 Make a snapshot.
 
void restore ()
 Undo the changes until the last snapshot.
 
bool valid () const
 

Constructor & Destructor Documentation

Snapshot ( )
inline

Default constructor. To actually make a snapshot you must call save().

Snapshot ( ListDigraph _digraph)
inline

This constructor immediately makes a snapshot of the digraph.

Parameters
_digraphThe digraph we make a snapshot of.

Member Function Documentation

void save ( ListDigraph _digraph)
inline

Make a snapshot of the digraph.

This function can be called more than once. In case of a repeated call, the previous snapshot gets lost.

Parameters
_digraphThe digraph we make the snapshot of.
void restore ( )
inline

Undo the changes until the last snapshot created by save().

bool valid ( ) const
inline

Gives back true when the snapshot is valid.