libstdc++: __gnu_pbds::detail::lu_map< Key, Mapped, Eq_Fn, _Alloc, Update_Policy > Class Template Reference

libstdc++

__gnu_pbds::detail::lu_map< Key, Mapped, Eq_Fn, _Alloc, Update_Policy > Class Template Reference

`#include <lu_map_.hpp>`

Inheritance diagram for __gnu_pbds::detail::lu_map< Key, Mapped, Eq_Fn, _Alloc, Update_Policy >:
[legend]

## Public Types
typedef _Alloc | allocator_type
typedef std::pair< size_type, size_type > | comp_hash
typedef const_iterator_ | const_iterator
typedef traits_base::const_pointer | const_pointer
typedef traits_base::const_reference | const_reference
typedef _Alloc::difference_type | difference_type
typedef Eq_Fn | eq_fn
typedef iterator_ | iterator
typedef traits_base::key_const_pointer | key_const_pointer
typedef traits_base::key_const_reference | key_const_reference
typedef traits_base::key_pointer | key_pointer
typedef traits_base::key_reference | key_reference
typedef traits_base::key_type | key_type
typedef traits_base::mapped_const_pointer | mapped_const_pointer
typedef traits_base::mapped_const_reference | mapped_const_reference
typedef traits_base::mapped_pointer | mapped_pointer
typedef traits_base::mapped_reference | mapped_reference
typedef traits_base::mapped_type | mapped_type
typedef __nothrowcopy::indicator | no_throw_indicator
typedef point_const_iterator_ | point_const_iterator
typedef point_iterator_ | point_iterator
typedef traits_base::pointer | pointer
typedef traits_base::reference | reference
typedef _Alloc::size_type | size_type
typedef integral_constant< int, Store_Hash > | store_extra
typedef stored_data< value_type, size_type, Store_Hash > | stored_data_type
typedef Update_Policy::metadata_type | update_metadata
typedef Update_Policy | update_policy
typedef traits_base::value_type | value_type

## Public Member Functions
| lu_map (const lu_map< Key, Mapped, Eq_Fn, _Alloc, Update_Policy > &)
template<typename It>
| lu_map (It, It)
iterator | begin ()
const_iterator | begin () const
void | clear ()
bool | empty () const
iterator | end ()
const_iterator | end () const
bool | erase (key_const_reference)
template<typename Pred>
size_type | erase_if (Pred)
point_iterator | find (key_const_reference r_key)
point_const_iterator | find (key_const_reference r_key) const
std::pair< point_iterator, bool > | insert (const_reference)
size_type | max_size () const
mapped_reference | operator[] (key_const_reference r_key)
size_type | size () const
void | swap (lu_map< Key, Mapped, Eq_Fn, _Alloc, Update_Policy > &)

## Public Attributes
no_throw_indicator | m_no_throw_copies_indicator
store_extra | m_store_extra_indicator

## Protected Member Functions
template<typename It>
void | copy_from_range (It, It)

## Friends
class | const_iterator_
class | iterator_

## Detailed Description

template<typename Key, typename Mapped, typename Eq_Fn, typename _Alloc, typename Update_Policy>
class __gnu_pbds::detail::lu_map< Key, Mapped, Eq_Fn, _Alloc, Update_Policy >

list-based (with updates) associative container. Skip to the lu, my darling.

Definition at line 91 of file lu_map_.hpp.

## Member Typedef Documentation

## ◆ allocator_type

template<typename Key, typename Mapped, typename Eq_Fn, typename _Alloc, typename Update_Policy>

typedef _Alloc __gnu_pbds::detail::lu_map< Key, Mapped, Eq_Fn, _Alloc, Update_Policy >::allocator_type

Definition at line 141 of file lu_map_.hpp.

## ◆ comp_hash

typedef std::pair<size_type, size_type> __gnu_pbds::detail::types_traits< Key, Mapped, _Alloc, Store_Hash >::comp_hash
| inherited

Definition at line 187 of file types_traits.hpp.

## ◆ const_iterator

template<typename Key, typename Mapped, typename Eq_Fn, typename _Alloc, typename Update_Policy>

typedef const_iterator_ __gnu_pbds::detail::lu_map< Key, Mapped, Eq_Fn, _Alloc, Update_Policy >::const_iterator

Definition at line 181 of file lu_map_.hpp.

## ◆ const_pointer

template<typename Key, typename Mapped, typename Eq_Fn, typename _Alloc, typename Update_Policy>

typedef traits_base::const_pointer __gnu_pbds::detail::lu_map< Key, Mapped, Eq_Fn, _Alloc, Update_Policy >::const_pointer

Definition at line 159 of file lu_map_.hpp.

## ◆ const_reference

template<typename Key, typename Mapped, typename Eq_Fn, typename _Alloc, typename Update_Policy>

typedef traits_base::const_reference __gnu_pbds::detail::lu_map< Key, Mapped, Eq_Fn, _Alloc, Update_Policy >::const_reference

Definition at line 161 of file lu_map_.hpp.

## ◆ difference_type

template<typename Key, typename Mapped, typename Eq_Fn, typename _Alloc, typename Update_Policy>

typedef _Alloc::difference_type __gnu_pbds::detail::lu_map< Key, Mapped, Eq_Fn, _Alloc, Update_Policy >::difference_type

Definition at line 143 of file lu_map_.hpp.

## ◆ eq_fn

template<typename Key, typename Mapped, typename Eq_Fn, typename _Alloc, typename Update_Policy>

typedef Eq_Fn __gnu_pbds::detail::lu_map< Key, Mapped, Eq_Fn, _Alloc, Update_Policy >::eq_fn

Definition at line 144 of file lu_map_.hpp.

## ◆ iterator

template<typename Key, typename Mapped, typename Eq_Fn, typename _Alloc, typename Update_Policy>

typedef iterator_ __gnu_pbds::detail::lu_map< Key, Mapped, Eq_Fn, _Alloc, Update_Policy >::iterator

Definition at line 174 of file lu_map_.hpp.

## ◆ key_const_pointer

template<typename Key, typename Mapped, typename Eq_Fn, typename _Alloc, typename Update_Policy>

typedef traits_base::key_const_pointer __gnu_pbds::detail::lu_map< Key, Mapped, Eq_Fn, _Alloc, Update_Policy >::key_const_pointer

Definition at line 149 of file lu_map_.hpp.

## ◆ key_const_reference

template<typename Key, typename Mapped, typename Eq_Fn, typename _Alloc, typename Update_Policy>

typedef traits_base::key_const_reference __gnu_pbds::detail::lu_map< Key, Mapped, Eq_Fn, _Alloc, Update_Policy >::key_const_reference

Definition at line 151 of file lu_map_.hpp.

## ◆ key_pointer

template<typename Key, typename Mapped, typename Eq_Fn, typename _Alloc, typename Update_Policy>

typedef traits_base::key_pointer __gnu_pbds::detail::lu_map< Key, Mapped, Eq_Fn, _Alloc, Update_Policy >::key_pointer

Definition at line 148 of file lu_map_.hpp.

## ◆ key_reference

template<typename Key, typename Mapped, typename Eq_Fn, typename _Alloc, typename Update_Policy>

typedef traits_base::key_reference __gnu_pbds::detail::lu_map< Key, Mapped, Eq_Fn, _Alloc, Update_Policy >::key_reference

Definition at line 150 of file lu_map_.hpp.

## ◆ key_type

template<typename Key, typename Mapped, typename Eq_Fn, typename _Alloc, typename Update_Policy>

typedef traits_base::key_type __gnu_pbds::detail::lu_map< Key, Mapped, Eq_Fn, _Alloc, Update_Policy >::key_type

Definition at line 147 of file lu_map_.hpp.

## ◆ mapped_const_pointer

template<typename Key, typename Mapped, typename Eq_Fn, typename _Alloc, typename Update_Policy>

typedef traits_base::mapped_const_pointer __gnu_pbds::detail::lu_map< Key, Mapped, Eq_Fn, _Alloc, Update_Policy >::mapped_const_pointer

Definition at line 154 of file lu_map_.hpp.

## ◆ mapped_const_reference

template<typename Key, typename Mapped, typename Eq_Fn, typename _Alloc, typename Update_Policy>

typedef traits_base::mapped_const_reference __gnu_pbds::detail::lu_map< Key, Mapped, Eq_Fn, _Alloc, Update_Policy >::mapped_const_reference

Definition at line 156 of file lu_map_.hpp.

## ◆ mapped_pointer

template<typename Key, typename Mapped, typename Eq_Fn, typename _Alloc, typename Update_Policy>

typedef traits_base::mapped_pointer __gnu_pbds::detail::lu_map< Key, Mapped, Eq_Fn, _Alloc, Update_Policy >::mapped_pointer

Definition at line 153 of file lu_map_.hpp.

## ◆ mapped_reference

template<typename Key, typename Mapped, typename Eq_Fn, typename _Alloc, typename Update_Policy>

typedef traits_base::mapped_reference __gnu_pbds::detail::lu_map< Key, Mapped, Eq_Fn, _Alloc, Update_Policy >::mapped_reference

Definition at line 155 of file lu_map_.hpp.

## ◆ mapped_type

template<typename Key, typename Mapped, typename Eq_Fn, typename _Alloc, typename Update_Policy>

typedef traits_base::mapped_type __gnu_pbds::detail::lu_map< Key, Mapped, Eq_Fn, _Alloc, Update_Policy >::mapped_type

Definition at line 152 of file lu_map_.hpp.

## ◆ no_throw_indicator

typedef __nothrowcopy::indicator __gnu_pbds::detail::types_traits< Key, Mapped, _Alloc, Store_Hash >::no_throw_indicator
| inherited

Definition at line 189 of file types_traits.hpp.

## ◆ point_const_iterator

template<typename Key, typename Mapped, typename Eq_Fn, typename _Alloc, typename Update_Policy>

typedef point_const_iterator_ __gnu_pbds::detail::lu_map< Key, Mapped, Eq_Fn, _Alloc, Update_Policy >::point_const_iterator

Definition at line 171 of file lu_map_.hpp.

## ◆ point_iterator

template<typename Key, typename Mapped, typename Eq_Fn, typename _Alloc, typename Update_Policy>

typedef point_iterator_ __gnu_pbds::detail::lu_map< Key, Mapped, Eq_Fn, _Alloc, Update_Policy >::point_iterator

Definition at line 164 of file lu_map_.hpp.

## ◆ pointer

template<typename Key, typename Mapped, typename Eq_Fn, typename _Alloc, typename Update_Policy>

typedef traits_base::pointer __gnu_pbds::detail::lu_map< Key, Mapped, Eq_Fn, _Alloc, Update_Policy >::pointer

Definition at line 158 of file lu_map_.hpp.

## ◆ reference

template<typename Key, typename Mapped, typename Eq_Fn, typename _Alloc, typename Update_Policy>

typedef traits_base::reference __gnu_pbds::detail::lu_map< Key, Mapped, Eq_Fn, _Alloc, Update_Policy >::reference

Definition at line 160 of file lu_map_.hpp.

## ◆ size_type

template<typename Key, typename Mapped, typename Eq_Fn, typename _Alloc, typename Update_Policy>

typedef _Alloc::size_type __gnu_pbds::detail::lu_map< Key, Mapped, Eq_Fn, _Alloc, Update_Policy >::size_type

Definition at line 142 of file lu_map_.hpp.

## ◆ store_extra

typedef integral_constant<int, Store_Hash> __gnu_pbds::detail::types_traits< Key, Mapped, _Alloc, Store_Hash >::store_extra
| inherited

Definition at line 188 of file types_traits.hpp.

## ◆ stored_data_type

typedef stored_data<value_type, size_type, Store_Hash> __gnu_pbds::detail::types_traits< Key, Mapped, _Alloc, Store_Hash >::stored_data_type
| inherited

Definition at line 181 of file types_traits.hpp.

## ◆ update_metadata

template<typename Key, typename Mapped, typename Eq_Fn, typename _Alloc, typename Update_Policy>

typedef Update_Policy::metadata_type __gnu_pbds::detail::lu_map< Key, Mapped, Eq_Fn, _Alloc, Update_Policy >::update_metadata

Definition at line 146 of file lu_map_.hpp.

## ◆ update_policy

template<typename Key, typename Mapped, typename Eq_Fn, typename _Alloc, typename Update_Policy>

typedef Update_Policy __gnu_pbds::detail::lu_map< Key, Mapped, Eq_Fn, _Alloc, Update_Policy >::update_policy

Definition at line 145 of file lu_map_.hpp.

## ◆ value_type

template<typename Key, typename Mapped, typename Eq_Fn, typename _Alloc, typename Update_Policy>

typedef traits_base::value_type __gnu_pbds::detail::lu_map< Key, Mapped, Eq_Fn, _Alloc, Update_Policy >::value_type

Definition at line 157 of file lu_map_.hpp.

## Constructor & Destructor Documentation

## ◆ lu_map() [1/3]

template<typename Key, typename Mapped, typename Eq_Fn, typename _Alloc, typename Update_Policy>

__gnu_pbds::detail::lu_map< Key, Mapped, Eq_Fn, _Alloc, Update_Policy >::lu_map | ( |  | ) |

Definition at line 71 of file lu_map_.hpp.

## ◆ lu_map() [2/3]

template<typename Key, typename Mapped, typename Eq_Fn, typename _Alloc, typename Update_Policy>

__gnu_pbds::detail::lu_map< Key, Mapped, Eq_Fn, _Alloc, Update_Policy >::lu_map | ( | const lu_map< Key, Mapped, Eq_Fn, _Alloc, Update_Policy > & | other | ) |

Definition at line 85 of file lu_map_.hpp.

## ◆ ~lu_map()

template<typename Key, typename Mapped, typename Eq_Fn, typename _Alloc, typename Update_Policy>

__gnu_pbds::detail::lu_map< Key, Mapped, Eq_Fn, _Alloc, Update_Policy >::~lu_map | ( |  | ) |
| virtual

Definition at line 137 of file lu_map_.hpp.

## ◆ lu_map() [3/3]

template<typename Key, typename Mapped, typename Eq_Fn, typename _Alloc, typename Update_Policy>
template<typename It>

__gnu_pbds::detail::lu_map< Key, Mapped, Eq_Fn, _Alloc, Update_Policy >::lu_map | ( | It | first_it,
|  | It | last_it )

Definition at line 77 of file lu_map_.hpp.

## Member Function Documentation

## ◆ begin() [1/2]

template<typename Key, typename Mapped, typename Eq_Fn, typename _Alloc, typename Update_Policy>

lu_map< Key, Mapped, Eq_Fn, _Alloc, Update_Policy >::iterator __gnu_pbds::detail::lu_map< Key, Mapped, Eq_Fn, _Alloc, Update_Policy >::begin | ( |  | ) |
| inline

Definition at line 46 of file lu_map_.hpp.

## ◆ begin() [2/2]

template<typename Key, typename Mapped, typename Eq_Fn, typename _Alloc, typename Update_Policy>

lu_map< Key, Mapped, Eq_Fn, _Alloc, Update_Policy >::const_iterator __gnu_pbds::detail::lu_map< Key, Mapped, Eq_Fn, _Alloc, Update_Policy >::begin | ( |  | ) | const
| inline

Definition at line 59 of file lu_map_.hpp.

## ◆ clear()

template<typename Key, typename Mapped, typename Eq_Fn, typename _Alloc, typename Update_Policy>

void __gnu_pbds::detail::lu_map< Key, Mapped, Eq_Fn, _Alloc, Update_Policy >::clear | ( |  | ) |

Definition at line 75 of file lu_map_.hpp.

## ◆ copy_from_range()

template<typename Key, typename Mapped, typename Eq_Fn, typename _Alloc, typename Update_Policy>
template<typename It>

void __gnu_pbds::detail::lu_map< Key, Mapped, Eq_Fn, _Alloc, Update_Policy >::copy_from_range | ( | It | first_it,
|  | It | last_it )
| protected

Definition at line 63 of file lu_map_.hpp.

## ◆ empty()

template<typename Key, typename Mapped, typename Eq_Fn, typename _Alloc, typename Update_Policy>

bool __gnu_pbds::detail::lu_map< Key, Mapped, Eq_Fn, _Alloc, Update_Policy >::empty | ( |  | ) | const
| inlinenodiscard

Definition at line 59 of file lu_map_.hpp.

## ◆ end() [1/2]

template<typename Key, typename Mapped, typename Eq_Fn, typename _Alloc, typename Update_Policy>

lu_map< Key, Mapped, Eq_Fn, _Alloc, Update_Policy >::iterator __gnu_pbds::detail::lu_map< Key, Mapped, Eq_Fn, _Alloc, Update_Policy >::end | ( |  | ) |
| inline

Definition at line 72 of file lu_map_.hpp.

## ◆ end() [2/2]

template<typename Key, typename Mapped, typename Eq_Fn, typename _Alloc, typename Update_Policy>

lu_map< Key, Mapped, Eq_Fn, _Alloc, Update_Policy >::const_iterator __gnu_pbds::detail::lu_map< Key, Mapped, Eq_Fn, _Alloc, Update_Policy >::end | ( |  | ) | const
| inline

Definition at line 78 of file lu_map_.hpp.

## ◆ erase()

template<typename Key, typename Mapped, typename Eq_Fn, typename _Alloc, typename Update_Policy>

bool __gnu_pbds::detail::lu_map< Key, Mapped, Eq_Fn, _Alloc, Update_Policy >::erase | ( | key_const_reference | r_key | ) |
| inline

Definition at line 46 of file lu_map_.hpp.

## ◆ erase_if()

template<typename Key, typename Mapped, typename Eq_Fn, typename _Alloc, typename Update_Policy>
template<typename Pred>

lu_map< Key, Mapped, Eq_Fn, _Alloc, Update_Policy >::size_type __gnu_pbds::detail::lu_map< Key, Mapped, Eq_Fn, _Alloc, Update_Policy >::erase_if | ( | Pred | pred | ) |
| inline

Definition at line 84 of file lu_map_.hpp.

## ◆ find() [1/2]

template<typename Key, typename Mapped, typename Eq_Fn, typename _Alloc, typename Update_Policy>

point_iterator __gnu_pbds::detail::lu_map< Key, Mapped, Eq_Fn, _Alloc, Update_Policy >::find | ( | key_const_reference | r_key | ) |
| inline

Definition at line 222 of file lu_map_.hpp.

## ◆ find() [2/2]

template<typename Key, typename Mapped, typename Eq_Fn, typename _Alloc, typename Update_Policy>

point_const_iterator __gnu_pbds::detail::lu_map< Key, Mapped, Eq_Fn, _Alloc, Update_Policy >::find | ( | key_const_reference | r_key | ) | const
| inline

Definition at line 230 of file lu_map_.hpp.

## ◆ insert()

template<typename Key, typename Mapped, typename Eq_Fn, typename _Alloc, typename Update_Policy>

std::pair< typename lu_map< Key, Mapped, Eq_Fn, _Alloc, Update_Policy >::point_iterator, bool > __gnu_pbds::detail::lu_map< Key, Mapped, Eq_Fn, _Alloc, Update_Policy >::insert | ( | const_reference | r_val | ) |
| inline

Definition at line 48 of file lu_map_.hpp.

## ◆ max_size()

template<typename Key, typename Mapped, typename Eq_Fn, typename _Alloc, typename Update_Policy>

lu_map< Key, Mapped, Eq_Fn, _Alloc, Update_Policy >::size_type __gnu_pbds::detail::lu_map< Key, Mapped, Eq_Fn, _Alloc, Update_Policy >::max_size | ( |  | ) | const
| inline

Definition at line 52 of file lu_map_.hpp.

## ◆ operator[]()

template<typename Key, typename Mapped, typename Eq_Fn, typename _Alloc, typename Update_Policy>

mapped_reference __gnu_pbds::detail::lu_map< Key, Mapped, Eq_Fn, _Alloc, Update_Policy >::operator[] | ( | key_const_reference | r_key | ) |
| inline

Definition at line 207 of file lu_map_.hpp.

## ◆ size()

template<typename Key, typename Mapped, typename Eq_Fn, typename _Alloc, typename Update_Policy>

lu_map< Key, Mapped, Eq_Fn, _Alloc, Update_Policy >::size_type __gnu_pbds::detail::lu_map< Key, Mapped, Eq_Fn, _Alloc, Update_Policy >::size | ( |  | ) | const
| inline

Definition at line 46 of file lu_map_.hpp.

## ◆ swap()

template<typename Key, typename Mapped, typename Eq_Fn, typename _Alloc, typename Update_Policy>

void __gnu_pbds::detail::lu_map< Key, Mapped, Eq_Fn, _Alloc, Update_Policy >::swap | ( | lu_map< Key, Mapped, Eq_Fn, _Alloc, Update_Policy > & | other | ) |

Definition at line 110 of file lu_map_.hpp.

## Friends And Related Symbol Documentation

## ◆ const_iterator_

template<typename Key, typename Mapped, typename Eq_Fn, typename _Alloc, typename Update_Policy>

friend class const_iterator_
| friend

Definition at line 280 of file lu_map_.hpp.

## ◆ iterator_

template<typename Key, typename Mapped, typename Eq_Fn, typename _Alloc, typename Update_Policy>

friend class iterator_
| friend

Definition at line 277 of file lu_map_.hpp.

## Member Data Documentation

## ◆ m_no_throw_copies_indicator

no_throw_indicator __gnu_pbds::detail::types_traits< Key, Mapped, _Alloc, Store_Hash >::m_no_throw_copies_indicator
| inherited

Definition at line 192 of file types_traits.hpp.

## ◆ m_store_extra_indicator

store_extra __gnu_pbds::detail::types_traits< Key, Mapped, _Alloc, Store_Hash >::m_store_extra_indicator
| inherited

Definition at line 191 of file types_traits.hpp.

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

- lu_map_.hpp