#include <lemon/graph_utils.h>
n-1
, where n
is the number of the items of this type (e.g. nodes) (so the id of a node can change if you delete an other node, i.e. this id is mutable). InverseMap
.
_Graph | The graph class the DescriptorMap belongs to. | |
_Item | The Item is the Key of the Map. It may be Node, Edge or UEdge. |
Public Types | |
typedef _Graph | Graph |
The graph class of DescriptorMap. | |
typedef _Map::Key | Key |
The key type of DescriptorMap (Node, Edge, UEdge). | |
typedef _Map::Value | Value |
The value type of DescriptorMap. | |
Public Member Functions | |
DescriptorMap (const Graph &_graph) | |
Constructor. | |
unsigned int | size () const |
Returns the maximal value plus one. | |
void | swap (const Item &p, const Item &q) |
Swaps the position of the two items in the map. | |
int | operator[] (const Item &item) const |
Gives back the descriptor of the item. | |
const InverseMap | inverse () const |
Gives back the inverse of the map. | |
Protected Member Functions | |
virtual void | add (const Item &item) |
Add a new key to the map. | |
virtual void | add (const std::vector< Item > &items) |
Add more new keys to the map. | |
virtual void | erase (const Item &item) |
Erase the key from the map. | |
virtual void | erase (const std::vector< Item > &items) |
Erase more keys from the map. | |
virtual void | build () |
Build the unique map. | |
virtual void | clear () |
Clear the keys from the map. | |
Classes | |
class | InverseMap |
The inverse map type of DescriptorMap. More... |
DescriptorMap | ( | const Graph & | _graph | ) | [inline] |
Constructor for descriptor map.
virtual void add | ( | const Item & | item | ) | [inline, protected, virtual] |
Add a new key to the map. It is called by the AlterationNotifier
.
virtual void add | ( | const std::vector< Item > & | items | ) | [inline, protected, virtual] |
Add more new keys to the map. It is called by the AlterationNotifier
.
virtual void erase | ( | const Item & | item | ) | [inline, protected, virtual] |
Erase the key from the map. It is called by the AlterationNotifier
.
virtual void erase | ( | const std::vector< Item > & | items | ) | [inline, protected, virtual] |
Erase more keys from the map. It is called by the AlterationNotifier
.
virtual void build | ( | ) | [inline, protected, virtual] |
Build the unique map. It is called by the AlterationNotifier
.
virtual void clear | ( | ) | [inline, protected, virtual] |
Clear the keys from the map. It is called by the AlterationNotifier
.
unsigned int size | ( | ) | const [inline] |
Returns the maximal value plus one in the map.
void swap | ( | const Item & | p, | |
const Item & | q | |||
) | [inline] |
Swaps the position of the two items in the map.
int operator[] | ( | const Item & | item | ) | const [inline] |
Gives back the mutable and unique descriptor of the map.
const InverseMap inverse | ( | ) | const [inline] |
Gives back the inverse of the map.