Kicking it Olde Sküül! Burgerlib on Github Follow Olde Sküül on Twitter Burgerbecky on LinkedIn Burgerbecky on LinkedIn
Loading...
Searching...
No Matches
Burger::allocator< void >::rebind Struct Reference

Its member type other is the equivalent allocator type to allocate elements of type T More...

Inheritance diagram for Burger::allocator< void >::rebind:
Collaboration diagram for Burger::allocator< void >::rebind:

Public Types

typedef allocator< U > other
 other matches T
 
typedef allocator< U > other
 other matches T
 
typedef void value_type
 Type of object this allocator is creating memory.
 
typedef uintptr_t size_type
 Quantities of elements.
 
typedef intptr_t difference_type
 Difference between pointers.
 
typedef void * pointer
 Pointer to element.
 
typedef const void * const_pointer
 Pointer to constant element.
 
typedef void & reference
 Reference to element.
 
typedef const void & const_reference
 Reference to constant element.
 
typedef true_type propagate_on_container_move_assignment
 Propagate on move assignment.
 
typedef true_type propagate_on_container_copy_assignment
 Copy the allocator when copy assigned.
 
typedef true_type propagate_on_container_swap
 Swap allocators on swap assignment.
 
typedef true_type is_always_equal
 This allocator matches any other allocator type.
 

Public Member Functions

constexpr allocator () noexcept=default
 Default constructor.
 
constexpr allocator (const allocator &) noexcept=default
 Copy constructor.
 
constexpr allocator (allocator &&) noexcept=default
 Move constructor.
 
 allocator (const allocator< U > &)
 Allocator that crosses types.
 
 ~allocator ()=default
 Default destructor.
 
allocatoroperator= (allocator &&) noexcept=default
 Assignment move constructor.
 
pointer address (reference x) noexcept
 Returns the address of x.
 
const_pointer address (const_reference x) const noexcept
 Returns the const address of x.
 
void * allocate (uintptr_t n) noexcept
 Allocate memory for n chunks of data.
 
void deallocate (pointer p, size_type) noexcept
 Free memory allocated.
 
uintptr_t max_size () const noexcept
 Maximum size possible to allocate.
 
void construct (pointer p)
 Default constructs an object.
 
void destroy (pointer p)
 Destroys the contents of an object.
 

Detailed Description

Its member type other is the equivalent allocator type to allocate elements of type T

Member Typedef Documentation

◆ const_pointer

typedef const void* Burger::allocator< void >::const_pointer

Pointer to constant element.

◆ const_reference

typedef const void& Burger::allocator< void >::const_reference

Reference to constant element.

◆ difference_type

typedef intptr_t Burger::allocator< void >::difference_type

Difference between pointers.

◆ is_always_equal

typedef true_type Burger::allocator< void >::is_always_equal

This allocator matches any other allocator type.

◆ other [1/2]

typedef allocator<U> Burger::allocator< void >::rebind< U >::other

other matches T

◆ other [2/2]

typedef allocator<U> Burger::allocator< void >::rebind::other

other matches T

◆ pointer

typedef void* Burger::allocator< void >::pointer

Pointer to element.

◆ propagate_on_container_copy_assignment

typedef true_type Burger::allocator< void >::propagate_on_container_copy_assignment

Copy the allocator when copy assigned.

◆ propagate_on_container_move_assignment

typedef true_type Burger::allocator< void >::propagate_on_container_move_assignment

Propagate on move assignment.

◆ propagate_on_container_swap

typedef true_type Burger::allocator< void >::propagate_on_container_swap

Swap allocators on swap assignment.

◆ reference

typedef void& Burger::allocator< void >::reference

Reference to element.

◆ size_type

typedef uintptr_t Burger::allocator< void >::size_type

Quantities of elements.

◆ value_type

typedef void Burger::allocator< void >::value_type

Type of object this allocator is creating memory.

Constructor & Destructor Documentation

◆ ~allocator()

Burger::allocator< void >::~allocator ( )
default

Default destructor.

Member Function Documentation

◆ address() [1/2]

const_pointer Burger::allocator< void >::address ( const_reference x) const
inlinenoexcept

Returns the const address of x.

◆ address() [2/2]

pointer Burger::allocator< void >::address ( reference x)
inlinenoexcept

Returns the address of x.

◆ allocate()

void * Burger::allocator< void >::allocate ( uintptr_t n)
inlinenoexcept

Allocate memory for n chunks of data.


Parameters
nNumber of elements to allocate
Returns
Pointer to allocated memory or nullptr on failure.
See also
deallocate(pointer, size_type)

◆ allocator() [1/4]

Burger::allocator< void >::allocator ( )
constexprdefaultnoexcept

Default constructor.

◆ allocator() [2/4]

Burger::allocator< void >::allocator ( allocator< void > && )
constexprdefaultnoexcept

Move constructor.

◆ allocator() [3/4]

Burger::allocator< void >::allocator ( const allocator< void > & )
constexprdefaultnoexcept

Copy constructor.

◆ allocator() [4/4]

Burger::allocator< void >::allocator ( const allocator< U > & )
inline

Allocator that crosses types.

Since this allocator can share pools, this exists and does nothing.

◆ construct()

void Burger::allocator< void >::construct ( pointer p)
inline

Default constructs an object.

◆ deallocate()

void Burger::allocator< void >::deallocate ( pointer p,
size_type  )
inlinenoexcept

Free memory allocated.


Note
The second parameter is ignored in this allocator
Parameters
pPointer to memory to release
See also
allocate(uintptr_t)

◆ destroy()

void Burger::allocator< void >::destroy ( pointer p)
inline

Destroys the contents of an object.

◆ max_size()

uintptr_t Burger::allocator< void >::max_size ( ) const
inlinenoexcept

Maximum size possible to allocate.


Returns the maximum number of elements, each of member type value_type (an alias of allocator's template parameter) that could potentially be allocated by a call to member allocate.

Returns
UINTMAX_MAX

◆ operator=()

allocator & Burger::allocator< void >::operator= ( allocator< void > && )
defaultnoexcept

Assignment move constructor.