mn::container::basic_multimap< TKEY, TVAL, TAllocator, TComp > Class Template Reference

A sorted associative container that may container multiple entries for each key. More...

#include <mn_multimap.hpp>

+ Inheritance diagram for mn::container::basic_multimap< TKEY, TVAL, TAllocator, TComp >:
+ Collaboration diagram for mn::container::basic_multimap< TKEY, TVAL, TAllocator, TComp >:

Public Types

using key_type = TKEY
 
using value_type = TVAL
 
using key_reference = TKEY &
 
using key_const_reference = const TKEY &
 
using value_reference = TVAL &
 
using value_const_reference = const TVAL &
 
using self_type = basic_multimap< TKEY, TVAL, TAllocator, TComp >
 
using iterator_category = typename base_type::iterator_category
 
using value_type = typename base_type::value_type
 
using pointer = typename base_type::pointer
 
using reference = typename base_type::reference
 
using const_reference = typename base_type::const_reference
 
using difference_type = typename base_type::difference_type
 
using iterator = typename base_type::iterator
 
using const_iterator = typename base_type::const_iterator
 
using allocator_type = typename base_type::allocator_type
 
using size_type = typename base_type::size_type
 
using const_range_t = pair< const_iterator, const_iterator >
 
using range_t = pair< iterator, iterator >
 
using key_compare = TComp
 
using initlist_t = mn::initializer_list< value_type >
 
- Public Types inherited from mn::container::basic_vector< T, TAllocator, TStorage >
using iterator_category = random_access_iterator_tag
 
using value_type = T
 
using pointer = T *
 
using reference = T &
 
using lreference = T &&
 
using const_reference = const T &
 
using difference_type = mn::ptrdiff_t
 
using iterator = pointer
 
using const_iterator = const pointer
 
using allocator_type = TAllocator
 
using size_type = mn::size_t
 

Public Member Functions

 basic_multimap (const allocator_type &allocator=allocator_type())
 
 basic_multimap (size_type initialSize, const allocator_type &allocator=allocator_type())
 
 basic_multimap (const_iterator first, const_iterator last, const allocator_type &allocator=allocator_type())
 
 basic_multimap (const self_type &rhs, const allocator_type &allocator=allocator_type())
 
 basic_multimap (basic_multimap &&v)
 
void assign (const_iterator i1, const_iterator i2)
 
void erase (const self_type &k)
 
const_iterator lower_bound (key_const_reference k) const
 
iterator lower_bound (key_const_reference k)
 
const_iterator upper_bound (key_const_reference k) const
 
iterator upper_bound (key_const_reference k)
 
const_iterator find (key_const_reference k) const
 
const_iterator find_value (value_const_reference v, const_iterator first, const_iterator last) const
 
value_reference operator[] (key_const_reference k)
 
template<typename... Args>
iterator emplace (Args &&... args)
 
template<typename... Args>
iterator emplace_hint (const_iterator h, Args &&... args)
 
template<typename... Args>
iterator emplace_back (Args &&... args)
 
size_type size () const
 
iterator begin ()
 
iterator end ()
 
bool empty () const
 
size_type capacity ()
 
reference front ()
 
const reference cfront ()
 
reference back ()
 
const reference cback ()
 
void clear ()
 
iterator erase (iterator it)
 
iterator erase (iterator first, iterator last)
 
void insert (size_type index, size_type n, const reference val)
 
void insert (iterator it, size_type n, const reference val)
 
iterator insert (iterator it, const_reference val)
 
void push_back (const_reference v)
 
void push_back (lreference v)
 
void push_back ()
 
basic_vectoroperator= (const basic_vector &rhs)
 
reference at (size_type i)
 
- Public Member Functions inherited from mn::container::basic_vector< T, TAllocator, TStorage >
 basic_vector (const allocator_type &allocator=allocator_type())
 
 basic_vector (size_type initialSize, const allocator_type &allocator=allocator_type())
 
 basic_vector (const_iterator first, const_iterator last, const allocator_type &allocator=allocator_type())
 
 basic_vector (const basic_vector &rhs, const allocator_type &allocator=allocator_type())
 
 ~basic_vector ()
 
void copy (const basic_vector &rhs)
 
iterator begin ()
 
iterator end ()
 
size_type size () const
 
bool empty () const
 
size_type capacity ()
 
pointer data ()
 
reference front ()
 
const reference cfront ()
 
reference back ()
 
const reference cback ()
 
reference at (size_type i)
 
const reference const_at (size_type i)
 
void push_back (const_reference v)
 
void push_back (lreference v)
 
void push_back ()
 
void pop_back ()
 
void assign (const pointer first, const pointer last)
 
void insert (size_type index, size_type n, const reference val)
 
void insert (iterator it, size_type n, const reference val)
 
iterator insert (iterator it, const_reference val)
 
iterator erase (iterator it)
 
iterator erase (iterator first, iterator last)
 
void resize (size_type n)
 
void reserve (size_type n)
 
void clear ()
 
void reset ()
 
void set_capacity (size_type newCapacity)
 
size_type index_of (const reference item, size_type index=0) const
 
iterator find (const reference item)
 
const allocator_typeget_allocator () const
 
void set_allocator (const allocator_type &allocator)
 
bool validate_iterator (const_iterator it) const
 
basic_vectoroperator= (const basic_vector &rhs)
 
reference operator[] (size_type i)
 
const reference operator[] (size_type i) const
 

Private Types

using base_type = vector< pair< TKEY, TVAL > >
 

Additional Inherited Members

- Static Public Attributes inherited from mn::container::basic_vector< T, TAllocator, TStorage >
static const size_type npos = size_type(-1)
 
static const size_type kInitialCapacity = 16
 

Detailed Description

template<typename TKEY, typename TVAL, class TAllocator, TComp = mn::less<TKEY>>
class mn::container::basic_multimap< TKEY, TVAL, TAllocator, TComp >

A sorted associative container that may container multiple entries for each key.

Member Typedef Documentation

◆ allocator_type

template<typename TKEY , typename TVAL , class TAllocator , TComp = mn::less<TKEY>>
using mn::container::basic_multimap< TKEY, TVAL, TAllocator, TComp >::allocator_type = typename base_type::allocator_type

◆ base_type

template<typename TKEY , typename TVAL , class TAllocator , TComp = mn::less<TKEY>>
using mn::container::basic_multimap< TKEY, TVAL, TAllocator, TComp >::base_type = vector<pair<TKEY, TVAL> >
private

◆ const_iterator

template<typename TKEY , typename TVAL , class TAllocator , TComp = mn::less<TKEY>>
using mn::container::basic_multimap< TKEY, TVAL, TAllocator, TComp >::const_iterator = typename base_type::const_iterator

◆ const_range_t

template<typename TKEY , typename TVAL , class TAllocator , TComp = mn::less<TKEY>>
using mn::container::basic_multimap< TKEY, TVAL, TAllocator, TComp >::const_range_t = pair<const_iterator,const_iterator>

◆ const_reference

template<typename TKEY , typename TVAL , class TAllocator , TComp = mn::less<TKEY>>
using mn::container::basic_multimap< TKEY, TVAL, TAllocator, TComp >::const_reference = typename base_type::const_reference

◆ difference_type

template<typename TKEY , typename TVAL , class TAllocator , TComp = mn::less<TKEY>>
using mn::container::basic_multimap< TKEY, TVAL, TAllocator, TComp >::difference_type = typename base_type::difference_type

◆ initlist_t

template<typename TKEY , typename TVAL , class TAllocator , TComp = mn::less<TKEY>>
using mn::container::basic_multimap< TKEY, TVAL, TAllocator, TComp >::initlist_t = mn::initializer_list<value_type>

◆ iterator

template<typename TKEY , typename TVAL , class TAllocator , TComp = mn::less<TKEY>>
using mn::container::basic_multimap< TKEY, TVAL, TAllocator, TComp >::iterator = typename base_type::iterator

◆ iterator_category

template<typename TKEY , typename TVAL , class TAllocator , TComp = mn::less<TKEY>>
using mn::container::basic_multimap< TKEY, TVAL, TAllocator, TComp >::iterator_category = typename base_type::iterator_category

◆ key_compare

template<typename TKEY , typename TVAL , class TAllocator , TComp = mn::less<TKEY>>
using mn::container::basic_multimap< TKEY, TVAL, TAllocator, TComp >::key_compare = TComp

◆ key_const_reference

template<typename TKEY , typename TVAL , class TAllocator , TComp = mn::less<TKEY>>
using mn::container::basic_multimap< TKEY, TVAL, TAllocator, TComp >::key_const_reference = const TKEY&

◆ key_reference

template<typename TKEY , typename TVAL , class TAllocator , TComp = mn::less<TKEY>>
using mn::container::basic_multimap< TKEY, TVAL, TAllocator, TComp >::key_reference = TKEY&

◆ key_type

template<typename TKEY , typename TVAL , class TAllocator , TComp = mn::less<TKEY>>
using mn::container::basic_multimap< TKEY, TVAL, TAllocator, TComp >::key_type = TKEY

◆ pointer

template<typename TKEY , typename TVAL , class TAllocator , TComp = mn::less<TKEY>>
using mn::container::basic_multimap< TKEY, TVAL, TAllocator, TComp >::pointer = typename base_type::pointer

◆ range_t

template<typename TKEY , typename TVAL , class TAllocator , TComp = mn::less<TKEY>>
using mn::container::basic_multimap< TKEY, TVAL, TAllocator, TComp >::range_t = pair<iterator,iterator>

◆ reference

template<typename TKEY , typename TVAL , class TAllocator , TComp = mn::less<TKEY>>
using mn::container::basic_multimap< TKEY, TVAL, TAllocator, TComp >::reference = typename base_type::reference

◆ self_type

template<typename TKEY , typename TVAL , class TAllocator , TComp = mn::less<TKEY>>
using mn::container::basic_multimap< TKEY, TVAL, TAllocator, TComp >::self_type = basic_multimap<TKEY, TVAL, TAllocator, TComp>

◆ size_type

template<typename TKEY , typename TVAL , class TAllocator , TComp = mn::less<TKEY>>
using mn::container::basic_multimap< TKEY, TVAL, TAllocator, TComp >::size_type = typename base_type::size_type

◆ value_const_reference

template<typename TKEY , typename TVAL , class TAllocator , TComp = mn::less<TKEY>>
using mn::container::basic_multimap< TKEY, TVAL, TAllocator, TComp >::value_const_reference = const TVAL&

◆ value_reference

template<typename TKEY , typename TVAL , class TAllocator , TComp = mn::less<TKEY>>
using mn::container::basic_multimap< TKEY, TVAL, TAllocator, TComp >::value_reference = TVAL&

◆ value_type [1/2]

template<typename TKEY , typename TVAL , class TAllocator , TComp = mn::less<TKEY>>
using mn::container::basic_multimap< TKEY, TVAL, TAllocator, TComp >::value_type = TVAL

◆ value_type [2/2]

template<typename TKEY , typename TVAL , class TAllocator , TComp = mn::less<TKEY>>
using mn::container::basic_multimap< TKEY, TVAL, TAllocator, TComp >::value_type = typename base_type::value_type

Constructor & Destructor Documentation

◆ basic_multimap() [1/5]

template<typename TKEY , typename TVAL , class TAllocator , TComp = mn::less<TKEY>>
mn::container::basic_multimap< TKEY, TVAL, TAllocator, TComp >::basic_multimap ( const allocator_type allocator = allocator_type())
inline

◆ basic_multimap() [2/5]

template<typename TKEY , typename TVAL , class TAllocator , TComp = mn::less<TKEY>>
mn::container::basic_multimap< TKEY, TVAL, TAllocator, TComp >::basic_multimap ( size_type  initialSize,
const allocator_type allocator = allocator_type() 
)
inlineexplicit

◆ basic_multimap() [3/5]

template<typename TKEY , typename TVAL , class TAllocator , TComp = mn::less<TKEY>>
mn::container::basic_multimap< TKEY, TVAL, TAllocator, TComp >::basic_multimap ( const_iterator  first,
const_iterator  last,
const allocator_type allocator = allocator_type() 
)
inline

◆ basic_multimap() [4/5]

template<typename TKEY , typename TVAL , class TAllocator , TComp = mn::less<TKEY>>
mn::container::basic_multimap< TKEY, TVAL, TAllocator, TComp >::basic_multimap ( const self_type rhs,
const allocator_type allocator = allocator_type() 
)
inline

◆ basic_multimap() [5/5]

template<typename TKEY , typename TVAL , class TAllocator , TComp = mn::less<TKEY>>
mn::container::basic_multimap< TKEY, TVAL, TAllocator, TComp >::basic_multimap ( basic_multimap< TKEY, TVAL, TAllocator, TComp > &&  v)
inline

Member Function Documentation

◆ assign()

template<typename TKEY , typename TVAL , class TAllocator , TComp = mn::less<TKEY>>
void mn::container::basic_multimap< TKEY, TVAL, TAllocator, TComp >::assign ( const_iterator  i1,
const_iterator  i2 
)
inline

◆ at()

template<typename TKEY , typename TVAL , class TAllocator , TComp = mn::less<TKEY>>
reference mn::container::basic_vector< T, TAllocator, TStorage >::at
inline

◆ back()

template<typename TKEY , typename TVAL , class TAllocator , TComp = mn::less<TKEY>>
reference mn::container::basic_vector< T, TAllocator, TStorage >::back
inline

◆ begin()

template<typename TKEY , typename TVAL , class TAllocator , TComp = mn::less<TKEY>>
iterator mn::container::basic_vector< T, TAllocator, TStorage >::begin
inline

◆ capacity()

template<typename TKEY , typename TVAL , class TAllocator , TComp = mn::less<TKEY>>
size_type mn::container::basic_vector< T, TAllocator, TStorage >::capacity
inline

◆ cback()

template<typename TKEY , typename TVAL , class TAllocator , TComp = mn::less<TKEY>>
const reference mn::container::basic_vector< T, TAllocator, TStorage >::cback
inline

◆ cfront()

template<typename TKEY , typename TVAL , class TAllocator , TComp = mn::less<TKEY>>
const reference mn::container::basic_vector< T, TAllocator, TStorage >::cfront
inline

◆ clear()

template<typename TKEY , typename TVAL , class TAllocator , TComp = mn::less<TKEY>>
void mn::container::basic_vector< T, TAllocator, TStorage >::clear
inline

◆ emplace()

template<typename TKEY , typename TVAL , class TAllocator , TComp = mn::less<TKEY>>
template<typename... Args>
iterator mn::container::basic_multimap< TKEY, TVAL, TAllocator, TComp >::emplace ( Args &&...  args)
inline

◆ emplace_back()

template<typename TKEY , typename TVAL , class TAllocator , TComp = mn::less<TKEY>>
template<typename... Args>
iterator mn::container::basic_multimap< TKEY, TVAL, TAllocator, TComp >::emplace_back ( Args &&...  args)
inline

◆ emplace_hint()

template<typename TKEY , typename TVAL , class TAllocator , TComp = mn::less<TKEY>>
template<typename... Args>
iterator mn::container::basic_multimap< TKEY, TVAL, TAllocator, TComp >::emplace_hint ( const_iterator  h,
Args &&...  args 
)
inline

◆ empty()

template<typename TKEY , typename TVAL , class TAllocator , TComp = mn::less<TKEY>>
bool mn::container::basic_vector< T, TAllocator, TStorage >::empty ( void  )
inline

◆ end()

template<typename TKEY , typename TVAL , class TAllocator , TComp = mn::less<TKEY>>
iterator mn::container::basic_vector< T, TAllocator, TStorage >::end
inline

◆ erase() [1/3]

template<typename TKEY , typename TVAL , class TAllocator , TComp = mn::less<TKEY>>
void mn::container::basic_multimap< TKEY, TVAL, TAllocator, TComp >::erase ( const self_type k)
inline

◆ erase() [2/3]

template<typename TKEY , typename TVAL , class TAllocator , TComp = mn::less<TKEY>>
iterator mn::container::basic_vector< T, TAllocator, TStorage >::erase
inline

◆ erase() [3/3]

template<typename TKEY , typename TVAL , class TAllocator , TComp = mn::less<TKEY>>
iterator mn::container::basic_vector< T, TAllocator, TStorage >::erase
inline

◆ find()

template<typename TKEY , typename TVAL , class TAllocator , TComp = mn::less<TKEY>>
const_iterator mn::container::basic_multimap< TKEY, TVAL, TAllocator, TComp >::find ( key_const_reference  k) const
inline

◆ find_value()

template<typename TKEY , typename TVAL , class TAllocator , TComp = mn::less<TKEY>>
const_iterator mn::container::basic_multimap< TKEY, TVAL, TAllocator, TComp >::find_value ( value_const_reference  v,
const_iterator  first,
const_iterator  last 
) const
inline

◆ front()

template<typename TKEY , typename TVAL , class TAllocator , TComp = mn::less<TKEY>>
reference mn::container::basic_vector< T, TAllocator, TStorage >::front
inline

◆ insert() [1/3]

template<typename TKEY , typename TVAL , class TAllocator , TComp = mn::less<TKEY>>
iterator mn::container::basic_vector< T, TAllocator, TStorage >::insert
inline

◆ insert() [2/3]

template<typename TKEY , typename TVAL , class TAllocator , TComp = mn::less<TKEY>>
void mn::container::basic_vector< T, TAllocator, TStorage >::insert
inline

◆ insert() [3/3]

template<typename TKEY , typename TVAL , class TAllocator , TComp = mn::less<TKEY>>
void mn::container::basic_vector< T, TAllocator, TStorage >::insert
inline

◆ lower_bound() [1/2]

template<typename TKEY , typename TVAL , class TAllocator , TComp = mn::less<TKEY>>
iterator mn::container::basic_multimap< TKEY, TVAL, TAllocator, TComp >::lower_bound ( key_const_reference  k)
inline

◆ lower_bound() [2/2]

template<typename TKEY , typename TVAL , class TAllocator , TComp = mn::less<TKEY>>
const_iterator mn::container::basic_multimap< TKEY, TVAL, TAllocator, TComp >::lower_bound ( key_const_reference  k) const
inline

◆ operator=()

template<typename TKEY , typename TVAL , class TAllocator , TComp = mn::less<TKEY>>
basic_vector& mn::container::basic_vector< T, TAllocator, TStorage >::operator=
inline

◆ operator[]()

template<typename TKEY , typename TVAL , class TAllocator , TComp = mn::less<TKEY>>
value_reference mn::container::basic_multimap< TKEY, TVAL, TAllocator, TComp >::operator[] ( key_const_reference  k)
inline

◆ push_back() [1/3]

template<typename TKEY , typename TVAL , class TAllocator , TComp = mn::less<TKEY>>
void mn::container::basic_vector< T, TAllocator, TStorage >::push_back
inline

◆ push_back() [2/3]

template<typename TKEY , typename TVAL , class TAllocator , TComp = mn::less<TKEY>>
void mn::container::basic_vector< T, TAllocator, TStorage >::push_back
inline

◆ push_back() [3/3]

template<typename TKEY , typename TVAL , class TAllocator , TComp = mn::less<TKEY>>
void mn::container::basic_vector< T, TAllocator, TStorage >::push_back
inline

◆ size()

template<typename TKEY , typename TVAL , class TAllocator , TComp = mn::less<TKEY>>
size_type mn::container::basic_vector< T, TAllocator, TStorage >::size
inline

◆ upper_bound() [1/2]

template<typename TKEY , typename TVAL , class TAllocator , TComp = mn::less<TKEY>>
iterator mn::container::basic_multimap< TKEY, TVAL, TAllocator, TComp >::upper_bound ( key_const_reference  k)
inline

◆ upper_bound() [2/2]

template<typename TKEY , typename TVAL , class TAllocator , TComp = mn::less<TKEY>>
const_iterator mn::container::basic_multimap< TKEY, TVAL, TAllocator, TComp >::upper_bound ( key_const_reference  k) const
inline

The documentation for this class was generated from the following file: