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

◆ allocator_type

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

Definition at line 423 of file memory.h.

◆ const_pointer

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.

◆ const_void_pointer

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.

◆ difference_type

Definition at line 461 of file memory.h.

◆ is_always_equal

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.

◆ pointer

Definition at line 432 of file memory.h.

◆ propagate_on_container_copy_assignment

Definition at line 475 of file memory.h.

◆ propagate_on_container_move_assignment

Definition at line 482 of file memory.h.

◆ propagate_on_container_swap

Definition at line 488 of file memory.h.

◆ rebind_alloc

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.

◆ rebind_traits

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.

◆ size_type

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.

◆ value_type

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

Definition at line 427 of file memory.h.

◆ void_pointer

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

◆ allocate() [1/2]

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

Definition at line 509 of file memory.h.

◆ allocate() [2/2]

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.

◆ allocate_impl() [1/2]

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.

◆ allocate_impl() [2/2]

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.

◆ construct()

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.

◆ construct_impl() [1/2]

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.

◆ construct_impl() [2/2]

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.

◆ deallocate()

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.

◆ destroy()

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.

◆ destroy_impl() [1/2]

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.

◆ destroy_impl() [2/2]

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.

◆ max_size()

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

Definition at line 549 of file memory.h.

◆ max_size_impl() [1/2]

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.

◆ max_size_impl() [2/2]

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.

◆ select_on_container_copy_construction()

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.

◆ select_on_container_copy_construction_impl() [1/2]

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.

◆ select_on_container_copy_construction_impl() [2/2]

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 Mon Feb 28 2022 21:31:22