DPC++ Runtime
Runtime libraries for oneAPI DPC++
std::allocator_traits< sycl::detail::aligned_allocator< T > > Struct Template Reference

#include <sycl/detail/aligned_allocator.hpp>

Public Types

using allocator_type = typename sycl::detail::aligned_allocator< T >
 
using value_type = typename allocator_type::value_type
 
using pointer = typename allocator_type::pointer
 
using const_pointer = typename allocator_type::const_pointer
 
using void_pointer = typename std::pointer_traits< pointer >::template rebind< void >
 
using const_void_pointer = typename std::pointer_traits< pointer >::template rebind< const void >
 
using difference_type = typename std::pointer_traits< pointer >::difference_type
 
using size_type = std::make_unsigned_t< difference_type >
 
using propagate_on_container_copy_assignment = std::false_type
 
using propagate_on_container_move_assignment = std::false_type
 
using propagate_on_container_swap = std::false_type
 
using is_always_equal = typename std::is_empty< allocator_type >::type
 
template<typename U >
using rebind_alloc = typename sycl::detail::aligned_allocator< T >::template rebind< U >::other
 
template<typename U >
using rebind_traits = allocator_traits< rebind_alloc< U > >
 

Static Public Member Functions

static pointer allocate (allocator_type &Allocator, size_type NumElems)
 
static pointer allocate (allocator_type &Allocator, size_type NumElems, const_void_pointer)
 
static void deallocate (allocator_type &Allocator, pointer Ptr, size_type NumElems)
 
template<class U , class... ArgsT>
static void construct (allocator_type &Allocator, U *Ptr, ArgsT &&...Args)
 
template<class U >
static void destroy (allocator_type &Allocator, U *Ptr)
 
static size_type max_size (const allocator_type &) noexcept
 
static allocator_type select_on_container_copy_construction (const allocator_type &Allocator)
 

Detailed Description

template<typename T>
struct std::allocator_traits< sycl::detail::aligned_allocator< T > >

Definition at line 86 of file aligned_allocator.hpp.

Member Typedef Documentation

◆ allocator_type

template<typename T >
using std::allocator_traits< sycl::detail::aligned_allocator< T > >::allocator_type = typename sycl::detail::aligned_allocator<T>

Definition at line 87 of file aligned_allocator.hpp.

◆ const_pointer

template<typename T >
using std::allocator_traits< sycl::detail::aligned_allocator< T > >::const_pointer = typename allocator_type::const_pointer

Definition at line 90 of file aligned_allocator.hpp.

◆ const_void_pointer

template<typename T >
using std::allocator_traits< sycl::detail::aligned_allocator< T > >::const_void_pointer = typename std::pointer_traits<pointer>::template rebind<const void>

Definition at line 93 of file aligned_allocator.hpp.

◆ difference_type

template<typename T >
using std::allocator_traits< sycl::detail::aligned_allocator< T > >::difference_type = typename std::pointer_traits<pointer>::difference_type

Definition at line 95 of file aligned_allocator.hpp.

◆ is_always_equal

template<typename T >
using std::allocator_traits< sycl::detail::aligned_allocator< T > >::is_always_equal = typename std::is_empty<allocator_type>::type

Definition at line 101 of file aligned_allocator.hpp.

◆ pointer

template<typename T >
using std::allocator_traits< sycl::detail::aligned_allocator< T > >::pointer = typename allocator_type::pointer

Definition at line 89 of file aligned_allocator.hpp.

◆ propagate_on_container_copy_assignment

template<typename T >
using std::allocator_traits< sycl::detail::aligned_allocator< T > >::propagate_on_container_copy_assignment = std::false_type

Definition at line 98 of file aligned_allocator.hpp.

◆ propagate_on_container_move_assignment

template<typename T >
using std::allocator_traits< sycl::detail::aligned_allocator< T > >::propagate_on_container_move_assignment = std::false_type

Definition at line 99 of file aligned_allocator.hpp.

◆ propagate_on_container_swap

template<typename T >
using std::allocator_traits< sycl::detail::aligned_allocator< T > >::propagate_on_container_swap = std::false_type

Definition at line 100 of file aligned_allocator.hpp.

◆ rebind_alloc

template<typename T >
template<typename U >
using std::allocator_traits< sycl::detail::aligned_allocator< T > >::rebind_alloc = typename sycl::detail::aligned_allocator<T>::template rebind<U>::other

Definition at line 104 of file aligned_allocator.hpp.

◆ rebind_traits

template<typename T >
template<typename U >
using std::allocator_traits< sycl::detail::aligned_allocator< T > >::rebind_traits = allocator_traits<rebind_alloc<U> >

Definition at line 106 of file aligned_allocator.hpp.

◆ size_type

template<typename T >
using std::allocator_traits< sycl::detail::aligned_allocator< T > >::size_type = std::make_unsigned_t<difference_type>

Definition at line 97 of file aligned_allocator.hpp.

◆ value_type

template<typename T >
using std::allocator_traits< sycl::detail::aligned_allocator< T > >::value_type = typename allocator_type::value_type

Definition at line 88 of file aligned_allocator.hpp.

◆ void_pointer

template<typename T >
using std::allocator_traits< sycl::detail::aligned_allocator< T > >::void_pointer = typename std::pointer_traits<pointer>::template rebind<void>

Definition at line 91 of file aligned_allocator.hpp.

Member Function Documentation

◆ allocate() [1/2]

template<typename T >
static pointer std::allocator_traits< sycl::detail::aligned_allocator< T > >::allocate ( allocator_type Allocator,
size_type  NumElems 
)
inlinestatic

Definition at line 108 of file aligned_allocator.hpp.

◆ allocate() [2/2]

template<typename T >
static pointer std::allocator_traits< sycl::detail::aligned_allocator< T > >::allocate ( allocator_type Allocator,
size_type  NumElems,
const_void_pointer   
)
inlinestatic

Definition at line 112 of file aligned_allocator.hpp.

◆ construct()

template<typename T >
template<class U , class... ArgsT>
static void std::allocator_traits< sycl::detail::aligned_allocator< T > >::construct ( allocator_type Allocator,
U *  Ptr,
ArgsT &&...  Args 
)
inlinestatic

Definition at line 124 of file aligned_allocator.hpp.

◆ deallocate()

template<typename T >
static void std::allocator_traits< sycl::detail::aligned_allocator< T > >::deallocate ( allocator_type Allocator,
pointer  Ptr,
size_type  NumElems 
)
inlinestatic

Definition at line 118 of file aligned_allocator.hpp.

◆ destroy()

template<typename T >
template<class U >
static void std::allocator_traits< sycl::detail::aligned_allocator< T > >::destroy ( allocator_type Allocator,
U *  Ptr 
)
inlinestatic

Definition at line 128 of file aligned_allocator.hpp.

◆ max_size()

template<typename T >
static size_type std::allocator_traits< sycl::detail::aligned_allocator< T > >::max_size ( const allocator_type )
inlinestaticnoexcept

Definition at line 132 of file aligned_allocator.hpp.

◆ select_on_container_copy_construction()

template<typename T >
static allocator_type std::allocator_traits< sycl::detail::aligned_allocator< T > >::select_on_container_copy_construction ( const allocator_type Allocator)
inlinestatic

Definition at line 138 of file aligned_allocator.hpp.


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