SmartGraph::Snapshot 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
SmartGraph::Snapshot Class Reference

## Detailed Description

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

The newly added nodes and edges can be removed using the restore() function. This is the only way for deleting nodes and/or edges from a SmartGraph structure.

Note
  After a state is restored, you cannot restore a later state, i.e. you cannot add the removed nodes and edges again using another Snapshot instance.

Warning
  The validity of the snapshot is not stored due to performance reasons. If you do not use the snapshot correctly, it can cause broken program, invalid or not restored state of the graph or no change.

`#include <lemon/smart_graph.h>`

## Public Member Functions
| Snapshot ()
| Default constructor. More...
| Snapshot (SmartGraph &gr)
| Constructor that immediately makes a snapshot. More...
void | save (SmartGraph &gr)
| Make a snapshot. More...
void | restore ()
| Undo the changes until the last snapshot. More...

## Constructor & Destructor Documentation

Snapshot | ( |  | ) |
| inline

Default constructor. You have to call save() to actually make a snapshot.

Snapshot | ( | SmartGraph & | gr | ) |
| inline

This constructor immediately makes a snapshot of the given graph.

## Member Function Documentation

void save | ( | SmartGraph & | gr | ) |
| inline

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

void restore | ( |  | ) |
| inline

This function undos the changes until the last snapshot created by save() or Snapshot(SmartGraph&).