Classes | Public Types | Static Public Member Functions | Static Private Member Functions | List of all members
absl::container_internal::hash_policy_traits< Policy, class > Struct Template Reference

#include <hash_policy_traits.h>

Classes

struct  ConstantIteratorsImpl
 
struct  ConstantIteratorsImpl< P, absl::void_t< typename P::constant_iterators > >
 
struct  ReturnKey
 

Public Types

using constant_iterators = ConstantIteratorsImpl<>
 
using init_type = typename Policy::init_type
 
using key_type = typename Policy::key_type
 
using pointer = typename std::remove_reference< reference >::type *
 
using reference = decltype(Policy::element(std::declval< slot_type * >()))
 
using slot_type = typename Policy::slot_type
 
using value_type = typename std::remove_reference< reference >::type
 

Static Public Member Functions

template<class F , class... Ts, class P = Policy>
static auto apply (F &&f, Ts &&...ts) -> decltype(P::apply(std::forward< F >(f), std::forward< Ts >(ts)...))
 
template<class Alloc , class... Args>
static void construct (Alloc *alloc, slot_type *slot, Args &&...args)
 
template<class Alloc >
static void destroy (Alloc *alloc, slot_type *slot)
 
template<class P = Policy>
static auto element (slot_type *slot) -> decltype(P::element(slot))
 
template<class P = Policy>
static auto key (slot_type *slot) -> decltype(P::apply(ReturnKey(), element(slot)))
 
template<class P = Policy>
static size_t space_used (const slot_type *slot)
 
template<class Alloc >
static void transfer (Alloc *alloc, slot_type *new_slot, slot_type *old_slot)
 
template<class T , class P = Policy>
static auto value (T *elem) -> decltype(P::value(elem))
 

Static Private Member Functions

template<class Alloc , class P = Policy>
static auto transfer_impl (Alloc *alloc, slot_type *new_slot, slot_type *old_slot, int) -> decltype((void) P::transfer(alloc, new_slot, old_slot))
 
template<class Alloc >
static void transfer_impl (Alloc *alloc, slot_type *new_slot, slot_type *old_slot, char)
 

Detailed Description

template<class Policy, class = void>
struct absl::container_internal::hash_policy_traits< Policy, class >

Definition at line 30 of file hash_policy_traits.h.

Member Typedef Documentation

template<class Policy , class = void>
using absl::container_internal::hash_policy_traits< Policy, class >::constant_iterators = ConstantIteratorsImpl<>

Definition at line 70 of file hash_policy_traits.h.

template<class Policy , class = void>
using absl::container_internal::hash_policy_traits< Policy, class >::init_type = typename Policy::init_type

Definition at line 60 of file hash_policy_traits.h.

template<class Policy , class = void>
using absl::container_internal::hash_policy_traits< Policy, class >::key_type = typename Policy::key_type

Definition at line 55 of file hash_policy_traits.h.

template<class Policy , class = void>
using absl::container_internal::hash_policy_traits< Policy, class >::pointer = typename std::remove_reference<reference>::type*

Definition at line 63 of file hash_policy_traits.h.

template<class Policy , class = void>
using absl::container_internal::hash_policy_traits< Policy, class >::reference = decltype(Policy::element(std::declval<slot_type*>()))

Definition at line 62 of file hash_policy_traits.h.

template<class Policy , class = void>
using absl::container_internal::hash_policy_traits< Policy, class >::slot_type = typename Policy::slot_type

Definition at line 52 of file hash_policy_traits.h.

template<class Policy , class = void>
using absl::container_internal::hash_policy_traits< Policy, class >::value_type = typename std::remove_reference<reference>::type

Definition at line 64 of file hash_policy_traits.h.

Member Function Documentation

template<class Policy , class = void>
template<class F , class... Ts, class P = Policy>
static auto absl::container_internal::hash_policy_traits< Policy, class >::apply ( F &&  f,
Ts &&...  ts 
) -> decltype(P::apply(std::forward<F>(f), std::forward<Ts>(ts)...))
inlinestatic

Definition at line 150 of file hash_policy_traits.h.

template<class Policy , class = void>
template<class Alloc , class... Args>
static void absl::container_internal::hash_policy_traits< Policy, class >::construct ( Alloc alloc,
slot_type slot,
Args &&...  args 
)
inlinestatic

Definition at line 75 of file hash_policy_traits.h.

template<class Policy , class = void>
template<class Alloc >
static void absl::container_internal::hash_policy_traits< Policy, class >::destroy ( Alloc alloc,
slot_type slot 
)
inlinestatic

Definition at line 82 of file hash_policy_traits.h.

template<class Policy , class = void>
template<class P = Policy>
static auto absl::container_internal::hash_policy_traits< Policy, class >::element ( slot_type slot) -> decltype(P::element(slot))
inlinestatic

Definition at line 105 of file hash_policy_traits.h.

template<class Policy , class = void>
template<class P = Policy>
static auto absl::container_internal::hash_policy_traits< Policy, class >::key ( slot_type slot) -> decltype(P::apply(ReturnKey(), element(slot)))
inlinestatic

Definition at line 158 of file hash_policy_traits.h.

template<class Policy , class = void>
template<class P = Policy>
static size_t absl::container_internal::hash_policy_traits< Policy, class >::space_used ( const slot_type slot)
inlinestatic

Definition at line 116 of file hash_policy_traits.h.

template<class Policy , class = void>
template<class Alloc >
static void absl::container_internal::hash_policy_traits< Policy, class >::transfer ( Alloc alloc,
slot_type new_slot,
slot_type old_slot 
)
inlinestatic

Definition at line 98 of file hash_policy_traits.h.

template<class Policy , class = void>
template<class Alloc , class P = Policy>
static auto absl::container_internal::hash_policy_traits< Policy, class >::transfer_impl ( Alloc alloc,
slot_type new_slot,
slot_type old_slot,
int   
) -> decltype((void)P::transfer(alloc, new_slot, old_slot))
inlinestaticprivate

Definition at line 173 of file hash_policy_traits.h.

template<class Policy , class = void>
template<class Alloc >
static void absl::container_internal::hash_policy_traits< Policy, class >::transfer_impl ( Alloc alloc,
slot_type new_slot,
slot_type old_slot,
char   
)
inlinestaticprivate

Definition at line 179 of file hash_policy_traits.h.

template<class Policy , class = void>
template<class T , class P = Policy>
static auto absl::container_internal::hash_policy_traits< Policy, class >::value ( T *  elem) -> decltype(P::value(elem))
inlinestatic

Definition at line 166 of file hash_policy_traits.h.


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


abseil_cpp
Author(s):
autogenerated on Tue Jun 18 2019 19:44:38