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 > Class Reference

Implementation of std::allocator<void> More...

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

Classes

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

Public Types

typedef void value_type
 Type is hard coded to void.
typedef void * pointer
 Pointer to nothing.
typedef const void * const_pointer
 Const pointer to nothing.
typedef uintptr_t size_type
 Quantities of elements.
typedef intptr_t difference_type
 Difference between pointers.
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.
 ~allocator ()=default
 Default destructor.
allocatoroperator= (allocator &&) noexcept=default
 Assignment move constructor.
pointer address (reference x) noexcept
 Returns the 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

Implementation of std::allocator<void>


Special type of allocator that has no ability to allocate or free any memory.

See also
allocator<const void>, or allocator

Member Typedef Documentation

◆ const_pointer

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

Const pointer to nothing.

◆ 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.

◆ pointer

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

Pointer to nothing.

◆ 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 is hard coded to void.

Constructor & Destructor Documentation

◆ allocator()

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

Default constructor.

◆ ~allocator()

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

Default destructor.

Member Function Documentation

◆ address()

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)

◆ 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.