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

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 [1/2]

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

Pointer to constant element.

◆ const_pointer [2/2]

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 [1/2]

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

Pointer to element.

◆ pointer [2/2]

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 [1/2]

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

Type of object this allocator is creating memory.

◆ value_type [2/2]

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

Type is hard coded to void.

Constructor & Destructor Documentation

◆ allocator() [1/4]

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

Default constructor.

◆ allocator() [2/4]

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

Copy constructor.

◆ allocator() [3/4]

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

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

◆ ~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)

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