Allocator Builder
Policy Based C++ Template Allocator Library
 All Classes Functions Variables Enumerations Enumerator Groups Pages
Internal

Classes

struct  alb::v_100::internal::dynastic< v, DynamicEnableSwitch >
 
class  alb::v_100::internal::no_atomic< T >
 
struct  alb::v_100::internal::reallocator< Allocator, Enabled >
 
struct  alb::v_100::internal::reallocator< Allocator, typename std::enable_if< traits::has_expand< Allocator >::value >::type >
 
struct  alb::v_100::internal::reallocator< Allocator, typename std::enable_if<!traits::has_expand< Allocator >::value >::type >
 
class  alb::v_100::shared_helpers::NullLock
 
class  alb::v_100::shared_helpers::SharedLock
 
class  alb::v_100::shared_helpers::UniqueLock
 
class  alb::v_100::internal::stack< T, MaxSize >
 
class  alb::v_100::memory_corruption_detector< T, Pattern >
 

Enumerations

enum  alb::v_100::internal::DynasticOptions : size_t { DynasticUndefined = std::numeric_limits<size_t>::max(), DynasticDynamicSet = std::numeric_limits<size_t>::max() - 1 }
 

Functions

void alb::v_100::internal::block_copy (const block &source, block &destination) noexcept
 
constexpr size_t alb::v_100::internal::round_to_alignment (size_t basis, size_t n) noexcept
 
template<class OldAllocator , class NewAllocator >
bool alb::v_100::internal::reallocate_with_copy (OldAllocator &oldAllocator, NewAllocator &newAllocator, block &b, size_t n) noexcept
 

Detailed Description

Enumeration Type Documentation

Flag to be used inside the Dynastic struct to signal that the value can be changed during runtime.

Definition at line 23 of file dynastic.hpp.

Function Documentation

void alb::v_100::internal::block_copy ( const block &  source,
alb::block destination 
)
noexcept

Copies std::min(source.length, destination.length) bytes from source to destination

Definition at line 15 of file allocator_base.cpp.

template<class OldAllocator , class NewAllocator >
bool alb::v_100::internal::reallocate_with_copy ( OldAllocator &  oldAllocator,
NewAllocator &  newAllocator,
block &  b,
size_t  n 
)
noexcept

Allocates a new block of n bytes with newAllocator, copies min(b.length, n) bytes to it, deallocates the old block b, and returns the new block.

Template Parameters
OldAllocatorThe allocator that allocated the passed block
NewAllocatorThe allocator that should be used for the new allocation
Parameters
oldAllocatorThe instance of the allocator that allocated in the past the block. The behavior is undefined if the block was not allocated by it!
newAllocatorThe instance that should be used for the new allocation
bThe block that should be reallocated by a move of its content
nThe new size of the block
Returns
True, if the operation was successful

Definition at line 35 of file reallocator.hpp.

constexpr size_t alb::v_100::internal::round_to_alignment ( size_t  basis,
size_t  n 
)
inlinenoexcept

Returns a upper rounded value of multiples of a

Definition at line 213 of file allocator_base.hpp.