This map meet with the concepts::ReferenceMatrixMap<typename K1, typename K2, typename V, typename R, typename CR> called as "ReferenceMatrixMap".
_FirstContainer | the desired type of first container. It is ususally a Graph type, but can be any type with alteration property. | |
_FirstContainerItem | the nested type of the FirstContainer. It is usually a graph item as Node, Edge, etc. This type will be the FirstKey type. | |
_SecondContainer | the desired type of the second container. It is usualy a Graph type, but can be any type with alteration property. | |
_SecondContainerItem | the nested type of the SecondContainer. It is usually a graph item such as Node, Edge, UEdge, etc. This type will be the SecondKey type. | |
_Value | the type of the strored values in the container. |
#include <lemon/matrix_maps.h>
Classes | |
class | FirstKeyProxy |
Proxy class for the first key type. More... | |
class | SecondKeyProxy |
Proxy class for the second key type. More... | |
Public Types | |
typedef _FirstContainerItem | FirstKey |
The first key type. | |
typedef _SecondContainerItem | SecondKey |
The second key type. | |
typedef _Value | Value |
The value type of the map. | |
typedef True | ReferenceMapTag |
Indicates it is a reference map. | |
typedef Container::reference | Reference |
The refernce type of the map. | |
typedef Container::const_reference | ConstReference |
The const reference type of the constainer. | |
Public Member Functions | |
DynamicAsymMatrixMap (const _FirstContainer &_firstContainer, const _SecondContainer &_secondContainer) | |
Constructor what create the map for the two containers type. | |
DynamicAsymMatrixMap (const _FirstContainer &_firstContainer, const _SecondContainer &_secondContainer, const Value &_value) | |
Constructor what create the map for the two containers type. | |
DynamicAsymMatrixMap (const DynamicAsymMatrixMap &_copy) | |
Copy constructor. | |
~DynamicAsymMatrixMap () | |
Destructor. | |
Reference | operator() (const FirstKey &_first, const SecondKey &_second) |
ConstReference | operator() (const FirstKey &_first, const SecondKey &_second) const |
void | set (const FirstKey &first, const SecondKey &second, const Value &value) |
DynamicAsymMatrixMap & | operator= (const DynamicAsymMatrixMap &_cmap) |
The assignement operator. | |
template<typename CMap > | |
DynamicAsymMatrixMap & | operator= (const CMap &_cdmap) |
Template assignement operator. | |
Protected Member Functions | |
void | addFirstKey (const FirstKey &firstKey) |
Add a new FirstKey to the map. | |
void | addFirstKeys (const std::vector< FirstKey > &firstKeys) |
Adds more new FirstKeys to the map. | |
void | addSecondKey (const SecondKey &secondKey) |
Add a new SecondKey to the map. | |
void | addSecondKeys (const std::vector< SecondKey > &secondKeys) |
Adds more new SecondKeys to the map. | |
void | eraseFirstKey (const FirstKey &first) |
Erase a FirstKey from the map. | |
void | eraseFirstKeys (const std::vector< FirstKey > &firstKeys) |
Erase more FirstKey from the map. | |
void | eraseSecondKey (const SecondKey &second) |
Erase a SecondKey from the map. | |
void | eraseSecondKeys (const std::vector< SecondKey > &secondKeys) |
Erase more SecondKey from the map. | |
void | build () |
Builds the map. | |
void | clear () |
Clear the map. | |
Private Types | |
typedef std::vector< Value > | Container |
| |
typedef std::vector< Container > | DContainer |
The type of constainer which stores the values of the map. | |
Private Attributes | |
DContainer | values |
The std:vector type which contains the data. | |
FirstKeyProxy | _first_key_proxy |
Member for the first proxy class. | |
SecondKeyProxy | _second_key_proxy |
Member for the second proxy class. |
DynamicAsymMatrixMap | ( | const _FirstContainer & | _firstContainer, | |
const _SecondContainer & | _secondContainer | |||
) | [inline] |
Creates the matrix map and initialize the values with Value()
DynamicAsymMatrixMap | ( | const _FirstContainer & | _firstContainer, | |
const _SecondContainer & | _secondContainer, | |||
const Value & | _value | |||
) | [inline] |
Creates the matrix map and initialize the values with the given _value
DynamicAsymMatrixMap | ( | const DynamicAsymMatrixMap< _FirstContainer, _FirstContainerItem, _SecondContainer, _SecondContainerItem, _Value > & | _copy | ) | [inline] |
The copy constructor of the map.
~DynamicAsymMatrixMap | ( | ) | [inline] |
Destructor what detach() from the attached objects. May this function is not necessary because the destructor of ObserverBase do the same.
Gives back the value assigned to the first
- second
ordered pair.
ConstReference operator() | ( | const FirstKey & | _first, | |
const SecondKey & | _second | |||
) | const [inline] |
Gives back the value assigned to the first
- second
ordered pair.
Setter function for this matrix map.
DynamicAsymMatrixMap& operator= | ( | const DynamicAsymMatrixMap< _FirstContainer, _FirstContainerItem, _SecondContainer, _SecondContainerItem, _Value > & | _cmap | ) | [inline] |
It allow to assign a map to an other. It
DynamicAsymMatrixMap& operator= | ( | const CMap & | _cdmap | ) | [inline] |
It copy the element of the given map to its own container. The type of the two map shall be the same.
void addFirstKey | ( | const FirstKey & | firstKey | ) | [inline, protected] |
It adds a new FirstKey to the map. It is called by the observer class belongs to the FirstKey type.
void addFirstKeys | ( | const std::vector< FirstKey > & | firstKeys | ) | [inline, protected] |
It adds more new FirstKeys to the map. It called by the observer class belongs to the FirstKey type.
void addSecondKey | ( | const SecondKey & | secondKey | ) | [inline, protected] |
It adds a new SecondKey to the map. It is called by the observer class belongs to the SecondKey type.
void addSecondKeys | ( | const std::vector< SecondKey > & | secondKeys | ) | [inline, protected] |
It adds more new SecondKeys to the map. It called by the observer class belongs to the SecondKey type.
void eraseFirstKey | ( | const FirstKey & | first | ) | [inline, protected] |
Erase a FirstKey from the map. It called by the observer class belongs to the FirstKey type.
void eraseFirstKeys | ( | const std::vector< FirstKey > & | firstKeys | ) | [inline, protected] |
Erase more FirstKey from the map. It called by the observer class belongs to the FirstKey type.
void eraseSecondKey | ( | const SecondKey & | second | ) | [inline, protected] |
Erase a SecondKey from the map. It called by the observer class belongs to the SecondKey type.
void eraseSecondKeys | ( | const std::vector< SecondKey > & | secondKeys | ) | [inline, protected] |
Erase more SecondKey from the map. It called by the observer class belongs to the SecondKey type.
void build | ( | ) | [inline, protected] |
It buildes the map. It is called by the observer class belongs to the FirstKey or SecondKey type.
void clear | ( | ) | [inline, protected] |
It erases all items from the map. It is called by the observer class belongs to the FirstKey or SecondKey type.