|
Flow123d
master-e663071
|
Bidirectional map templated by <T, unsigned int>. More...
#include <bidirectional_map.hh>
Public Member Functions | |
| BidirectionalMap () | |
| Constructor. More... | |
| unsigned int | size () const |
| Return size of map. More... | |
| void | set_item (T val, unsigned int pos) |
| unsigned int | add_item (T val) |
| Add new item at the end position of map. More... | |
| int | get_position (T val) const |
| Return position of item of given value. More... | |
| void | clear () |
| Clear the content. Do not release memory. More... | |
| void | reserve (unsigned int init_size=0) |
| Reset data of map, reserve space for given size. More... | |
| void | resize (unsigned int new_size) |
| Reset data of map, reserve space for given size. More... | |
| T | operator[] (unsigned int pos) const |
| Return value on given position. More... | |
Private Attributes | |
| std::vector< T > | vals_vec_ |
| Space to save values. More... | |
| std::unordered_map< T, unsigned int > | vals_map_ |
| Maps values to indexes into vals_vec_. More... | |
Bidirectional map templated by <T, unsigned int>.
Store pairs of value and its position (index) and allow bidirectional search. Items of both (values, positions) must be unique.
Definition at line 33 of file bidirectional_map.hh.
|
inline |
Constructor.
Definition at line 76 of file bidirectional_map.hh.
|
inline |
Add new item at the end position of map.
Definition at line 106 of file bidirectional_map.hh.

|
inline |
Clear the content. Do not release memory.
Definition at line 121 of file bidirectional_map.hh.

|
inline |
Return position of item of given value.
Definition at line 114 of file bidirectional_map.hh.

|
inline |
Return value on given position.
Definition at line 145 of file bidirectional_map.hh.
|
inline |
Reset data of map, reserve space for given size.
Definition at line 139 of file bidirectional_map.hh.

|
inline |
Reset data of map, reserve space for given size.
Resizes to given new_size if new size is smaller than the actual. The rest of data are thrown away and removed from the map.
Definition at line 128 of file bidirectional_map.hh.
|
inline |
Set value of given position.
Position must be in interval set in reinit method <0, init_size-1>. Element on every position can be set only once.
Definition at line 86 of file bidirectional_map.hh.
|
inline |
Return size of map.
Definition at line 80 of file bidirectional_map.hh.
|
private |
Maps values to indexes into vals_vec_.
Definition at line 71 of file bidirectional_map.hh.
|
private |
Space to save values.
Definition at line 70 of file bidirectional_map.hh.
1.8.17