neoGFX
Cross-platform C++ app/game engine
Loading...
Searching...
No Matches
neolib::multimap< Key, T, Pr, Alloc > Class Template Reference

#include <map.hpp>

Inheritance diagram for neolib::multimap< Key, T, Pr, Alloc >:
neolib::reference_counted< i_multimap< abstract_t< Key >, abstract_t< T > > > neolib::i_multimap< abstract_t< Key >, abstract_t< T > > neolib::i_container< T, ConstIteratorType, IteratorType > neolib::i_reference_counted

Public Types

typedef i_multimap< abstract_t< Key >, abstract_t< T > > abstract_type
 
typedef Key key_type
 
typedef T mapped_type
 
typedef pair< const key_type, mapped_typevalue_type
 
typedef abstract_t< key_typeabstract_key_type
 
typedef abstract_t< mapped_typeabstract_mapped_type
 
typedef i_pair< const abstract_key_type, abstract_mapped_typeabstract_value_type
 
typedef Pr key_compare
 
typedef Alloc allocator_type
 
typedef std::multimap< key_type, value_type, key_compare, typename std::allocator_traits< allocator_type >::template rebind_alloc< std::pair< const key_type, value_type > > > std_type
 
typedef std_type::value_type container_value_type
 
- Public Types inherited from neolib::i_multimap< abstract_t< Key >, abstract_t< T > >
typedef self_type abstract_type
 
typedef abstract_t< Key > abstract_key_type
 
typedef abstract_t< T > abstract_mapped_type
 
typedef i_pair< const abstract_key_type, abstract_mapped_typeabstract_value_type
 
typedef base_type::const_iterator const_iterator
 
typedef base_type::iterator iterator
 
- Public Types inherited from neolib::i_container< T, ConstIteratorType, IteratorType >
typedef T value_type
 
typedef size_t size_type
 
typedef ConstIteratorType abstract_const_iterator
 
typedef IteratorType abstract_iterator
 
typedef abstract_const_iterator::iterator_wrapper const_iterator
 
typedef abstract_iterator::iterator_wrapper iterator
 
typedef std::reverse_iterator< const_iteratorconst_reverse_iterator
 
typedef std::reverse_iterator< iteratorreverse_iterator
 

Public Member Functions

 multimap ()
 
 multimap (const multimap &aOther)
 
 multimap (multimap &&aOther)
 
 multimap (const std::initializer_list< value_type > &aIlist)
 
 multimap (const generic_container_type &aOther)
 
template<typename InputIter >
 multimap (InputIter aFirst, InputIter aLast)
 
multimapoperator= (const multimap &aOther)
 
multimapoperator= (multimap &&aOther)
 
const std_typeas_std_multimap () const
 
std_typeas_std_multimap ()
 
std_type to_std_multimap () const
 
constexpr bool operator== (const self_type &that) const noexcept
 
constexpr std::partial_ordering operator<=> (const self_type &that) const noexcept
 
size_type size () const noexcept final
 
size_type max_size () const noexcept final
 
void clear () final
 
void assign (const generic_container_type &aOther) final
 
template<typename Key2 , typename... Args>
value_typeemplace (Key2 &&aKey, Args &&... aArgs)
 
- Public Member Functions inherited from neolib::reference_counted< i_multimap< abstract_t< Key >, abstract_t< T > > >
 reference_counted () noexcept
 
 reference_counted (const reference_counted &aOther) noexcept
 
 ~reference_counted ()
 
reference_countedoperator= (const reference_counted &)
 
void add_ref () const noexcept override
 
void release () const override
 
int32_t use_count () const noexcept override
 
const base_typerelease_and_take_ownership () const override
 
base_typerelease_and_take_ownership () override
 
void pin () const noexcept override
 
void unpin () const override
 
i_ref_control_blockcontrol_block () override
 
- Public Member Functions inherited from neolib::i_multimap< abstract_t< Key >, abstract_t< T > >
iterator insert (const abstract_value_type &aValue)
 
iterator insert (const abstract_key_type &aKey, const abstract_mapped_type &aMapped)
 
const_iterator find (const abstract_key_type &aKey) const
 
iterator find (const abstract_key_type &aKey)
 
const_iterator lower_bound (const abstract_key_type &aKey) const
 
iterator lower_bound (const abstract_key_type &aKey)
 
const_iterator upper_bound (const abstract_key_type &aKey) const
 
iterator upper_bound (const abstract_key_type &aKey)
 
- Public Member Functions inherited from neolib::i_container< T, ConstIteratorType, IteratorType >
bool empty () const noexcept
 
const_iterator cbegin () const
 
const_iterator begin () const
 
iterator begin ()
 
const_iterator cend () const
 
const_iterator end () const
 
iterator end ()
 
const_reverse_iterator crbegin () const
 
const_reverse_iterator rbegin () const
 
reverse_iterator rbegin ()
 
const_reverse_iterator crend () const
 
const_reverse_iterator rend () const
 
reverse_iterator rend ()
 
iterator erase (const abstract_iterator &aPosition)
 
iterator erase (const abstract_const_iterator &aPosition)
 
iterator erase (const abstract_iterator &aFirst, const abstract_iterator &aLast)
 
iterator erase (const abstract_const_iterator &aFirst, const abstract_const_iterator &aLast)
 
i_containeroperator= (const i_container &aRhs)
 
- Public Member Functions inherited from neolib::i_reference_counted
virtual ~i_reference_counted ()=default
 

Protected Types

typedef container::const_iterator< value_type, typename std_type::const_iterator > container_const_iterator
 
typedef container::iterator< value_type, typename std_type::iterator, typename std_type::const_iterator > container_iterator
 
typedef abstract_type::abstract_const_iterator abstract_const_iterator
 
typedef abstract_type::abstract_iterator abstract_iterator
 
- Protected Types inherited from neolib::i_multimap< abstract_t< Key >, abstract_t< T > >
typedef base_type::abstract_const_iterator abstract_const_iterator
 
typedef base_type::abstract_iterator abstract_iterator
 
- Protected Types inherited from neolib::i_container< T, ConstIteratorType, IteratorType >
typedef i_container< T, ConstIteratorType, IteratorTypegeneric_container_type
 

Detailed Description

template<typename Key, typename T, typename Pr = std::less<Key>, typename Alloc = std::allocator<std::pair<const Key, T>>>
class neolib::multimap< Key, T, Pr, Alloc >

Definition at line 207 of file map.hpp.

Member Typedef Documentation

◆ abstract_const_iterator

template<typename Key , typename T , typename Pr = std::less<Key>, typename Alloc = std::allocator<std::pair<const Key, T>>>
typedef abstract_type::abstract_const_iterator neolib::multimap< Key, T, Pr, Alloc >::abstract_const_iterator
protected

Definition at line 232 of file map.hpp.

◆ abstract_iterator

template<typename Key , typename T , typename Pr = std::less<Key>, typename Alloc = std::allocator<std::pair<const Key, T>>>
typedef abstract_type::abstract_iterator neolib::multimap< Key, T, Pr, Alloc >::abstract_iterator
protected

Definition at line 233 of file map.hpp.

◆ abstract_key_type

template<typename Key , typename T , typename Pr = std::less<Key>, typename Alloc = std::allocator<std::pair<const Key, T>>>
typedef abstract_t<key_type> neolib::multimap< Key, T, Pr, Alloc >::abstract_key_type

Definition at line 217 of file map.hpp.

◆ abstract_mapped_type

template<typename Key , typename T , typename Pr = std::less<Key>, typename Alloc = std::allocator<std::pair<const Key, T>>>
typedef abstract_t<mapped_type> neolib::multimap< Key, T, Pr, Alloc >::abstract_mapped_type

Definition at line 218 of file map.hpp.

◆ abstract_type

template<typename Key , typename T , typename Pr = std::less<Key>, typename Alloc = std::allocator<std::pair<const Key, T>>>
typedef i_multimap<abstract_t<Key>, abstract_t<T> > neolib::multimap< Key, T, Pr, Alloc >::abstract_type

Definition at line 213 of file map.hpp.

◆ abstract_value_type

template<typename Key , typename T , typename Pr = std::less<Key>, typename Alloc = std::allocator<std::pair<const Key, T>>>
typedef i_pair<const abstract_key_type, abstract_mapped_type> neolib::multimap< Key, T, Pr, Alloc >::abstract_value_type

Definition at line 219 of file map.hpp.

◆ allocator_type

template<typename Key , typename T , typename Pr = std::less<Key>, typename Alloc = std::allocator<std::pair<const Key, T>>>
typedef Alloc neolib::multimap< Key, T, Pr, Alloc >::allocator_type

Definition at line 221 of file map.hpp.

◆ container_const_iterator

template<typename Key , typename T , typename Pr = std::less<Key>, typename Alloc = std::allocator<std::pair<const Key, T>>>
typedef container::const_iterator<value_type, typename std_type::const_iterator> neolib::multimap< Key, T, Pr, Alloc >::container_const_iterator
protected

Definition at line 230 of file map.hpp.

◆ container_iterator

template<typename Key , typename T , typename Pr = std::less<Key>, typename Alloc = std::allocator<std::pair<const Key, T>>>
typedef container::iterator<value_type, typename std_type::iterator, typename std_type::const_iterator> neolib::multimap< Key, T, Pr, Alloc >::container_iterator
protected

Definition at line 231 of file map.hpp.

◆ container_value_type

template<typename Key , typename T , typename Pr = std::less<Key>, typename Alloc = std::allocator<std::pair<const Key, T>>>
typedef std_type::value_type neolib::multimap< Key, T, Pr, Alloc >::container_value_type

Definition at line 223 of file map.hpp.

◆ key_compare

template<typename Key , typename T , typename Pr = std::less<Key>, typename Alloc = std::allocator<std::pair<const Key, T>>>
typedef Pr neolib::multimap< Key, T, Pr, Alloc >::key_compare

Definition at line 220 of file map.hpp.

◆ key_type

template<typename Key , typename T , typename Pr = std::less<Key>, typename Alloc = std::allocator<std::pair<const Key, T>>>
typedef Key neolib::multimap< Key, T, Pr, Alloc >::key_type

Definition at line 214 of file map.hpp.

◆ mapped_type

template<typename Key , typename T , typename Pr = std::less<Key>, typename Alloc = std::allocator<std::pair<const Key, T>>>
typedef T neolib::multimap< Key, T, Pr, Alloc >::mapped_type

Definition at line 215 of file map.hpp.

◆ std_type

template<typename Key , typename T , typename Pr = std::less<Key>, typename Alloc = std::allocator<std::pair<const Key, T>>>
typedef std::multimap<key_type, value_type, key_compare, typename std::allocator_traits<allocator_type>::template rebind_alloc<std::pair<const key_type, value_type> > > neolib::multimap< Key, T, Pr, Alloc >::std_type

Definition at line 222 of file map.hpp.

◆ value_type

template<typename Key , typename T , typename Pr = std::less<Key>, typename Alloc = std::allocator<std::pair<const Key, T>>>
typedef pair<const key_type, mapped_type> neolib::multimap< Key, T, Pr, Alloc >::value_type

Definition at line 216 of file map.hpp.

Constructor & Destructor Documentation

◆ multimap() [1/6]

template<typename Key , typename T , typename Pr = std::less<Key>, typename Alloc = std::allocator<std::pair<const Key, T>>>
neolib::multimap< Key, T, Pr, Alloc >::multimap ( )
inline

Definition at line 236 of file map.hpp.

◆ multimap() [2/6]

template<typename Key , typename T , typename Pr = std::less<Key>, typename Alloc = std::allocator<std::pair<const Key, T>>>
neolib::multimap< Key, T, Pr, Alloc >::multimap ( const multimap< Key, T, Pr, Alloc > &  aOther)
inline

Definition at line 239 of file map.hpp.

◆ multimap() [3/6]

template<typename Key , typename T , typename Pr = std::less<Key>, typename Alloc = std::allocator<std::pair<const Key, T>>>
neolib::multimap< Key, T, Pr, Alloc >::multimap ( multimap< Key, T, Pr, Alloc > &&  aOther)
inline

Definition at line 243 of file map.hpp.

◆ multimap() [4/6]

template<typename Key , typename T , typename Pr = std::less<Key>, typename Alloc = std::allocator<std::pair<const Key, T>>>
neolib::multimap< Key, T, Pr, Alloc >::multimap ( const std::initializer_list< value_type > &  aIlist)
inline

Definition at line 247 of file map.hpp.

◆ multimap() [5/6]

template<typename Key , typename T , typename Pr = std::less<Key>, typename Alloc = std::allocator<std::pair<const Key, T>>>
neolib::multimap< Key, T, Pr, Alloc >::multimap ( const generic_container_type aOther)
inline

Definition at line 252 of file map.hpp.

◆ multimap() [6/6]

template<typename Key , typename T , typename Pr = std::less<Key>, typename Alloc = std::allocator<std::pair<const Key, T>>>
template<typename InputIter >
neolib::multimap< Key, T, Pr, Alloc >::multimap ( InputIter  aFirst,
InputIter  aLast 
)
inline

Definition at line 257 of file map.hpp.

Member Function Documentation

◆ as_std_multimap() [1/2]

template<typename Key , typename T , typename Pr = std::less<Key>, typename Alloc = std::allocator<std::pair<const Key, T>>>
std_type & neolib::multimap< Key, T, Pr, Alloc >::as_std_multimap ( )
inline

Definition at line 275 of file map.hpp.

◆ as_std_multimap() [2/2]

template<typename Key , typename T , typename Pr = std::less<Key>, typename Alloc = std::allocator<std::pair<const Key, T>>>
const std_type & neolib::multimap< Key, T, Pr, Alloc >::as_std_multimap ( ) const
inline

Definition at line 274 of file map.hpp.

◆ assign()

template<typename Key , typename T , typename Pr = std::less<Key>, typename Alloc = std::allocator<std::pair<const Key, T>>>
void neolib::multimap< Key, T, Pr, Alloc >::assign ( const generic_container_type aOther)
inlinefinalvirtual

◆ clear()

template<typename Key , typename T , typename Pr = std::less<Key>, typename Alloc = std::allocator<std::pair<const Key, T>>>
void neolib::multimap< Key, T, Pr, Alloc >::clear ( )
inlinefinalvirtual

◆ emplace()

template<typename Key , typename T , typename Pr = std::less<Key>, typename Alloc = std::allocator<std::pair<const Key, T>>>
template<typename Key2 , typename... Args>
value_type & neolib::multimap< Key, T, Pr, Alloc >::emplace ( Key2 &&  aKey,
Args &&...  aArgs 
)
inline

Definition at line 316 of file map.hpp.

◆ max_size()

template<typename Key , typename T , typename Pr = std::less<Key>, typename Alloc = std::allocator<std::pair<const Key, T>>>
size_type neolib::multimap< Key, T, Pr, Alloc >::max_size ( ) const
inlinefinalvirtualnoexcept

◆ operator<=>()

template<typename Key , typename T , typename Pr = std::less<Key>, typename Alloc = std::allocator<std::pair<const Key, T>>>
constexpr std::partial_ordering neolib::multimap< Key, T, Pr, Alloc >::operator<=> ( const self_type &  that) const
inlineconstexprnoexcept

Definition at line 283 of file map.hpp.

◆ operator=() [1/2]

template<typename Key , typename T , typename Pr = std::less<Key>, typename Alloc = std::allocator<std::pair<const Key, T>>>
multimap & neolib::multimap< Key, T, Pr, Alloc >::operator= ( const multimap< Key, T, Pr, Alloc > &  aOther)
inline

Definition at line 262 of file map.hpp.

◆ operator=() [2/2]

template<typename Key , typename T , typename Pr = std::less<Key>, typename Alloc = std::allocator<std::pair<const Key, T>>>
multimap & neolib::multimap< Key, T, Pr, Alloc >::operator= ( multimap< Key, T, Pr, Alloc > &&  aOther)
inline

Definition at line 267 of file map.hpp.

◆ operator==()

template<typename Key , typename T , typename Pr = std::less<Key>, typename Alloc = std::allocator<std::pair<const Key, T>>>
constexpr bool neolib::multimap< Key, T, Pr, Alloc >::operator== ( const self_type &  that) const
inlineconstexprnoexcept

Definition at line 279 of file map.hpp.

◆ size()

template<typename Key , typename T , typename Pr = std::less<Key>, typename Alloc = std::allocator<std::pair<const Key, T>>>
size_type neolib::multimap< Key, T, Pr, Alloc >::size ( ) const
inlinefinalvirtualnoexcept

◆ to_std_multimap()

template<typename Key , typename T , typename Pr = std::less<Key>, typename Alloc = std::allocator<std::pair<const Key, T>>>
std_type neolib::multimap< Key, T, Pr, Alloc >::to_std_multimap ( ) const
inline

Definition at line 276 of file map.hpp.


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