Algorithms Library Toolkit
A toolkit for algorithms, especially for algorithms on formal languages
|
Class extending the multimap class from the standard library. Original reason is to allow printing of the container with overloaded operator <<. More...
#include <multimap.hpp>
Public Types | |
using | iterator = typename std::multimap< T, R, Cmp, Alloc >::iterator |
The iterator type is inheried. More... | |
Public Member Functions | |
multimap ()=default | |
multimap (const multimap &other)=default | |
multimap (multimap &&other)=default | |
multimap & | operator= (multimap &&other)=default |
multimap & | operator= (const multimap &other)=default |
template<class Iterator > | |
multimap (const ext::iterator_range< Iterator > &range) | |
iterator | insert (const T &key, const R &value) |
Insert variant with explicit key and value parameters. More... | |
iterator | insert (const T &key, R &&value) |
Insert variant with explicit key and value parameters. More... | |
iterator | insert (T &&key, const R &value) |
Insert variant with explicit key and value parameters. More... | |
iterator | insert (T &&key, R &&value) |
Insert variant with explicit key and value parameters. More... | |
auto | begin () & |
Inherited behavior of begin for non-const instance. More... | |
auto | begin () const & |
Inherited behavior of begin for const instance. More... | |
auto | begin () && |
New variant of begin for rvalues. More... | |
auto | end () & |
Inherited behavior of end for non-const instance. More... | |
auto | end () const & |
Inherited behavior of end for const instance. More... | |
auto | end () && |
New variant of end for rvalues. More... | |
auto | range () & |
Make range of non-const begin to end iterators. More... | |
auto | range () const & |
Make range of non-const begin to end iterators. More... | |
auto | range () && |
Make range of move begin to end iterators. More... | |
template<class K > | |
auto | equal_range (K &&key) const & |
Make range of elements with key equal to the key . More... | |
template<class K > | |
auto | equal_range (K &&key) & |
Make range of elements with key equal to the key . More... | |
template<class K > | |
auto | equal_range (K &&key) && |
Make range of elements with key equal to the key . More... | |
Class extending the multimap class from the standard library. Original reason is to allow printing of the container with overloaded operator <<.
The class mimics the behavior of the multimap from the standatd library.
T | the type of keys inside the multimap |
R | the type of values inside the multimap |
Cmp | the comparator type used to order keys |
Alloc | the allocator of values of type T |
using ext::multimap< T, R, Cmp, Alloc >::iterator = typename std::multimap<T, R, Cmp, Alloc>::iterator |
The iterator type is inheried.
|
default |
Default constructor needed by g++ since it is not inherited
|
default |
Copy constructor needed by g++ since it is not inherited
|
default |
Move constructor needed by g++ since it is not inherited
|
inline |
Constructor from range of values.
Iterator | the type of range iterator |
range | the source range |
|
inline |
Inherited behavior of begin for non-const instance.
|
inline |
New variant of begin for rvalues.
|
inline |
Inherited behavior of begin for const instance.
|
inline |
Inherited behavior of end for non-const instance.
|
inline |
New variant of end for rvalues.
|
inline |
Inherited behavior of end for const instance.
|
inline |
Make range of elements with key equal to the key
.
K | the key used in the query |
key | the value used in the query |
|
inline |
Make range of elements with key equal to the key
.
K | the key used in the query |
key | the value used in the query |
|
inline |
Make range of elements with key equal to the key
.
K | the key used in the query |
key | the value used in the query |
|
inline |
Insert variant with explicit key and value parameters.
key | the key |
value | the value |
|
inline |
Insert variant with explicit key and value parameters.
key | the key |
value | the value |
|
inline |
Insert variant with explicit key and value parameters.
key | the key |
value | the value |
|
inline |
Insert variant with explicit key and value parameters.
key | the key |
value | the value |
|
default |
Move operator = needed by g++ since it is not inherited
|
default |
Copy operator = needed by g++ since it is not inherited
|
inline |
Make range of non-const begin to end iterators.
|
inline |
Make range of move begin to end iterators.
|
inline |
Make range of non-const begin to end iterators.