Public Types | Static Public Member Functions | Static Private Member Functions | List of all members
absl::allocator_traits< Alloc > Struct Template Reference

#include <memory.h>

Public Types

using allocator_type = Alloc
 
using const_pointer = memory_internal::ExtractOrT< memory_internal::GetConstPointer, Alloc, typename absl::pointer_traits< pointer >::template rebind< const value_type >>
 
using const_void_pointer = memory_internal::ExtractOrT< memory_internal::GetConstVoidPointer, Alloc, typename absl::pointer_traits< pointer >::template rebind< const void >>
 
using difference_type = memory_internal::ExtractOrT< memory_internal::GetDifferenceType, Alloc, typename absl::pointer_traits< pointer >::difference_type >
 
using is_always_equal = memory_internal::ExtractOrT< memory_internal::GetIsAlwaysEqual, Alloc, typename std::is_empty< Alloc >::type >
 
using pointer = memory_internal::ExtractOrT< memory_internal::GetPointer, Alloc, value_type * >
 
using propagate_on_container_copy_assignment = memory_internal::ExtractOrT< memory_internal::GetPropagateOnContainerCopyAssignment, Alloc, std::false_type >
 
using propagate_on_container_move_assignment = memory_internal::ExtractOrT< memory_internal::GetPropagateOnContainerMoveAssignment, Alloc, std::false_type >
 
using propagate_on_container_swap = memory_internal::ExtractOrT< memory_internal::GetPropagateOnContainerSwap, Alloc, std::false_type >
 
template<typename T >
using rebind_alloc = typename memory_internal::RebindAlloc< Alloc, T >::type
 
template<typename T >
using rebind_traits = absl::allocator_traits< rebind_alloc< T >>
 
using size_type = memory_internal::ExtractOrT< memory_internal::GetSizeType, Alloc, typename std::make_unsigned< difference_type >::type >
 
using value_type = typename Alloc::value_type
 
using void_pointer = memory_internal::ExtractOrT< memory_internal::GetVoidPointer, Alloc, typename absl::pointer_traits< pointer >::template rebind< void >>
 

Static Public Member Functions

static pointer allocate (Alloc &a, size_type n)
 
static pointer allocate (Alloc &a, size_type n, const_void_pointer hint)
 
template<typename T , typename... Args>
static void construct (Alloc &a, T *p, Args &&...args)
 
static void deallocate (Alloc &a, pointer p, size_type n)
 
template<typename T >
static void destroy (Alloc &a, T *p)
 
static size_type max_size (const Alloc &a)
 
static Alloc select_on_container_copy_construction (const Alloc &a)
 

Static Private Member Functions

template<typename A >
static auto allocate_impl (int, A &a, size_type n, const_void_pointer hint) -> decltype(a.allocate(n, hint))
 
static pointer allocate_impl (char, Alloc &a, size_type n, const_void_pointer)
 
template<typename A , typename... Args>
static auto construct_impl (int, A &a, Args &&...args) -> decltype(a.construct(std::forward< Args >(args)...))
 
template<typename T , typename... Args>
static void construct_impl (char, Alloc &, T *p, Args &&...args)
 
template<typename A , typename T >
static auto destroy_impl (int, A &a, T *p) -> decltype(a.destroy(p))
 
template<typename T >
static void destroy_impl (char, Alloc &, T *p)
 
template<typename A >
static auto max_size_impl (int, const A &a) -> decltype(a.max_size())
 
static size_type max_size_impl (char, const Alloc &)
 
template<typename A >
static auto select_on_container_copy_construction_impl (int, const A &a) -> decltype(a.select_on_container_copy_construction())
 
static Alloc select_on_container_copy_construction_impl (char, const Alloc &a)
 

Detailed Description

template<typename Alloc>
struct absl::allocator_traits< Alloc >

Definition at line 422 of file memory.h.

Member Typedef Documentation

template<typename Alloc>
using absl::allocator_traits< Alloc >::allocator_type = Alloc

Definition at line 423 of file memory.h.

template<typename Alloc>
using absl::allocator_traits< Alloc >::const_pointer = memory_internal::ExtractOrT<memory_internal::GetConstPointer, Alloc, typename absl::pointer_traits<pointer>:: template rebind<const value_type>>

Definition at line 440 of file memory.h.

template<typename Alloc>
using absl::allocator_traits< Alloc >::const_void_pointer = memory_internal::ExtractOrT< memory_internal::GetConstVoidPointer, Alloc, typename absl::pointer_traits<pointer>::template rebind<const void>>

Definition at line 454 of file memory.h.

Definition at line 461 of file memory.h.

template<typename Alloc>
using absl::allocator_traits< Alloc >::is_always_equal = memory_internal::ExtractOrT<memory_internal::GetIsAlwaysEqual, Alloc, typename std::is_empty<Alloc>::type>

Definition at line 494 of file memory.h.

Definition at line 432 of file memory.h.

Definition at line 475 of file memory.h.

Definition at line 482 of file memory.h.

Definition at line 488 of file memory.h.

template<typename Alloc>
template<typename T >
using absl::allocator_traits< Alloc >::rebind_alloc = typename memory_internal::RebindAlloc<Alloc, T>::type

Definition at line 500 of file memory.h.

template<typename Alloc>
template<typename T >
using absl::allocator_traits< Alloc >::rebind_traits = absl::allocator_traits<rebind_alloc<T>>

Definition at line 505 of file memory.h.

template<typename Alloc>
using absl::allocator_traits< Alloc >::size_type = memory_internal::ExtractOrT< memory_internal::GetSizeType, Alloc, typename std::make_unsigned<difference_type>::type>

Definition at line 468 of file memory.h.

template<typename Alloc>
using absl::allocator_traits< Alloc >::value_type = typename Alloc::value_type

Definition at line 427 of file memory.h.

template<typename Alloc>
using absl::allocator_traits< Alloc >::void_pointer = memory_internal::ExtractOrT< memory_internal::GetVoidPointer, Alloc, typename absl::pointer_traits<pointer>::template rebind<void>>

Definition at line 447 of file memory.h.

Member Function Documentation

template<typename Alloc>
static pointer absl::allocator_traits< Alloc >::allocate ( Alloc &  a,
size_type  n 
)
inlinestatic

Definition at line 509 of file memory.h.

template<typename Alloc>
static pointer absl::allocator_traits< Alloc >::allocate ( Alloc &  a,
size_type  n,
const_void_pointer  hint 
)
inlinestatic

Definition at line 517 of file memory.h.

template<typename Alloc>
template<typename A >
static auto absl::allocator_traits< Alloc >::allocate_impl ( int  ,
A &  a,
size_type  n,
const_void_pointer  hint 
) -> decltype(a.allocate(n, hint))
inlinestaticprivate

Definition at line 560 of file memory.h.

template<typename Alloc>
static pointer absl::allocator_traits< Alloc >::allocate_impl ( char  ,
Alloc &  a,
size_type  n,
const_void_pointer   
)
inlinestaticprivate

Definition at line 565 of file memory.h.

template<typename Alloc>
template<typename T , typename... Args>
static void absl::allocator_traits< Alloc >::construct ( Alloc &  a,
T *  p,
Args &&...  args 
)
inlinestatic

Definition at line 534 of file memory.h.

template<typename Alloc>
template<typename A , typename... Args>
static auto absl::allocator_traits< Alloc >::construct_impl ( int  ,
A &  a,
Args &&...  args 
) -> decltype(a.construct(std::forward<Args>(args)...))
inlinestaticprivate

Definition at line 571 of file memory.h.

template<typename Alloc>
template<typename T , typename... Args>
static void absl::allocator_traits< Alloc >::construct_impl ( char  ,
Alloc &  ,
T *  p,
Args &&...  args 
)
inlinestaticprivate

Definition at line 578 of file memory.h.

template<typename Alloc>
static void absl::allocator_traits< Alloc >::deallocate ( Alloc &  a,
pointer  p,
size_type  n 
)
inlinestatic

Definition at line 524 of file memory.h.

template<typename Alloc>
template<typename T >
static void absl::allocator_traits< Alloc >::destroy ( Alloc &  a,
T *  p 
)
inlinestatic

Definition at line 542 of file memory.h.

template<typename Alloc>
template<typename A , typename T >
static auto absl::allocator_traits< Alloc >::destroy_impl ( int  ,
A &  a,
T *  p 
) -> decltype(a.destroy(p))
inlinestaticprivate

Definition at line 583 of file memory.h.

template<typename Alloc>
template<typename T >
static void absl::allocator_traits< Alloc >::destroy_impl ( char  ,
Alloc &  ,
T *  p 
)
inlinestaticprivate

Definition at line 588 of file memory.h.

template<typename Alloc>
static size_type absl::allocator_traits< Alloc >::max_size ( const Alloc &  a)
inlinestatic

Definition at line 549 of file memory.h.

template<typename Alloc>
template<typename A >
static auto absl::allocator_traits< Alloc >::max_size_impl ( int  ,
const A &  a 
) -> decltype(a.max_size())
inlinestaticprivate

Definition at line 593 of file memory.h.

template<typename Alloc>
static size_type absl::allocator_traits< Alloc >::max_size_impl ( char  ,
const Alloc &   
)
inlinestaticprivate

Definition at line 596 of file memory.h.

template<typename Alloc>
static Alloc absl::allocator_traits< Alloc >::select_on_container_copy_construction ( const Alloc &  a)
inlinestatic

Definition at line 554 of file memory.h.

template<typename Alloc>
template<typename A >
static auto absl::allocator_traits< Alloc >::select_on_container_copy_construction_impl ( int  ,
const A &  a 
) -> decltype(a.select_on_container_copy_construction())
inlinestaticprivate

Definition at line 601 of file memory.h.

template<typename Alloc>
static Alloc absl::allocator_traits< Alloc >::select_on_container_copy_construction_impl ( char  ,
const Alloc &  a 
)
inlinestaticprivate

Definition at line 605 of file memory.h.


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


abseil_cpp
Author(s):
autogenerated on Wed Jun 19 2019 19:19:59