GNU g++  v5.2.1
GNU Standard C++
__gnu_pbds::list_update< Key, Mapped, Eq_Fn, Update_Policy, _Alloc > Class Template Reference

A list-update based associative container. More...

#include <assoc_container.hpp>

Inheritance diagram for __gnu_pbds::list_update< Key, Mapped, Eq_Fn, Update_Policy, _Alloc >:
Collaboration diagram for __gnu_pbds::list_update< Key, Mapped, Eq_Fn, Update_Policy, _Alloc >:

Public Types

typedef list_update_tag container_category
 
typedef Eq_Fn eq_fn
 
typedef Update_Policy update_policy
 

Public Member Functions

 list_update ()
 
template<typename It >
 list_update (It first, It last)
 Constructor taking __iterators to a range of value_types. More...
 
 list_update (const list_update &other)
 
virtual ~list_update ()
 
list_updateoperator= (const list_update &other)
 
void swap (list_update &other)
 

Private Types

typedef detail::container_base_dispatch< Key, Mapped, _Alloc, list_update_tag, typename __gnu_cxx::typelist::create2< Eq_Fn, Update_Policy >::type >::type base_type
 

Detailed Description

template<typename Key, typename Mapped, class Eq_Fn = typename detail::default_eq_fn<Key>::type, class Update_Policy = detail::default_update_policy::type, class _Alloc = std::allocator<char>>
class __gnu_pbds::list_update< Key, Mapped, Eq_Fn, Update_Policy, _Alloc >

A list-update based associative container.

Template Parameters
KeyKey type.
MappedMap type.
Eq_FnEqual functor.
Update_PolicyUpdate policy, determines when an element will be moved to the front of the list.
_AllocAllocator type.

Base is detail::lu_map.

Member Typedef Documentation

template<typename Key , typename Mapped , class Eq_Fn = typename detail::default_eq_fn<Key>::type, class Update_Policy = detail::default_update_policy::type, class _Alloc = std::allocator<char>>
typedef detail::container_base_dispatch<Key, Mapped, _Alloc, list_update_tag, typename __gnu_cxx::typelist::create2<Eq_Fn, Update_Policy>::type>::type __gnu_pbds::list_update< Key, Mapped, Eq_Fn, Update_Policy, _Alloc >::base_type
private
template<typename Key , typename Mapped , class Eq_Fn = typename detail::default_eq_fn<Key>::type, class Update_Policy = detail::default_update_policy::type, class _Alloc = std::allocator<char>>
typedef list_update_tag __gnu_pbds::list_update< Key, Mapped, Eq_Fn, Update_Policy, _Alloc >::container_category
template<typename Key , typename Mapped , class Eq_Fn = typename detail::default_eq_fn<Key>::type, class Update_Policy = detail::default_update_policy::type, class _Alloc = std::allocator<char>>
typedef Eq_Fn __gnu_pbds::list_update< Key, Mapped, Eq_Fn, Update_Policy, _Alloc >::eq_fn
template<typename Key , typename Mapped , class Eq_Fn = typename detail::default_eq_fn<Key>::type, class Update_Policy = detail::default_update_policy::type, class _Alloc = std::allocator<char>>
typedef Update_Policy __gnu_pbds::list_update< Key, Mapped, Eq_Fn, Update_Policy, _Alloc >::update_policy

Constructor & Destructor Documentation

template<typename Key , typename Mapped , class Eq_Fn = typename detail::default_eq_fn<Key>::type, class Update_Policy = detail::default_update_policy::type, class _Alloc = std::allocator<char>>
__gnu_pbds::list_update< Key, Mapped, Eq_Fn, Update_Policy, _Alloc >::list_update ( )
inline
template<typename Key , typename Mapped , class Eq_Fn = typename detail::default_eq_fn<Key>::type, class Update_Policy = detail::default_update_policy::type, class _Alloc = std::allocator<char>>
template<typename It >
__gnu_pbds::list_update< Key, Mapped, Eq_Fn, Update_Policy, _Alloc >::list_update ( It  first,
It  last 
)
inline

Constructor taking __iterators to a range of value_types.

The value_types between first_it and last_it will be inserted into the container object.

template<typename Key , typename Mapped , class Eq_Fn = typename detail::default_eq_fn<Key>::type, class Update_Policy = detail::default_update_policy::type, class _Alloc = std::allocator<char>>
__gnu_pbds::list_update< Key, Mapped, Eq_Fn, Update_Policy, _Alloc >::list_update ( const list_update< Key, Mapped, Eq_Fn, Update_Policy, _Alloc > &  other)
inline
template<typename Key , typename Mapped , class Eq_Fn = typename detail::default_eq_fn<Key>::type, class Update_Policy = detail::default_update_policy::type, class _Alloc = std::allocator<char>>
virtual __gnu_pbds::list_update< Key, Mapped, Eq_Fn, Update_Policy, _Alloc >::~list_update ( )
inlinevirtual

Member Function Documentation

template<typename Key , typename Mapped , class Eq_Fn = typename detail::default_eq_fn<Key>::type, class Update_Policy = detail::default_update_policy::type, class _Alloc = std::allocator<char>>
list_update& __gnu_pbds::list_update< Key, Mapped, Eq_Fn, Update_Policy, _Alloc >::operator= ( const list_update< Key, Mapped, Eq_Fn, Update_Policy, _Alloc > &  other)
inline

References __gnu_pbds::list_update< Key, Mapped, Eq_Fn, Update_Policy, _Alloc >::swap().

Here is the call graph for this function:

template<typename Key , typename Mapped , class Eq_Fn = typename detail::default_eq_fn<Key>::type, class Update_Policy = detail::default_update_policy::type, class _Alloc = std::allocator<char>>
void __gnu_pbds::list_update< Key, Mapped, Eq_Fn, Update_Policy, _Alloc >::swap ( list_update< Key, Mapped, Eq_Fn, Update_Policy, _Alloc > &  other)
inline

References std::__exception_ptr::swap().

Referenced by __gnu_pbds::list_update< Key, Mapped, Eq_Fn, Update_Policy, _Alloc >::operator=().

Here is the call graph for this function:

Here is the caller graph for this function:


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