Documentation of memory
( foonathan/memory)
joint_allocator.hpp File Reference
Detailed Description
Class template foonathan::memory::joint_ptr, foonathan::memory::joint_allocator and related.
Classes | |
class | joint_ptr< T, RawAllocator, Mutex > |
A pointer to an object where all allocations are joint. More... | |
class | joint_type< T > |
CRTP base class for all objects that want to use joint memory. More... | |
class | joint |
Tag type that can't be created. More... | |
struct | joint_size |
Tag type to make the joint size more explicit. More... | |
class | joint_type< T > |
CRTP base class for all objects that want to use joint memory. More... | |
class | joint_ptr< T, RawAllocator, Mutex > |
A pointer to an object where all allocations are joint. More... | |
class | joint_allocator |
A RawAllocator that uses the additional joint memory for its allocation. More... | |
struct | is_shared_allocator< joint_allocator > |
Specialization of is_shared_allocator to mark joint_allocator as shared. More... | |
struct | is_thread_safe_allocator< joint_allocator > |
Specialization of is_thread_safe_allocator to mark joint_allocator as thread safe. More... | |
struct | propagation_traits< joint_allocator > |
Specialization of the propagation_traits for the joint_allocator. More... | |
class | joint_array< T > |
A zero overhead dynamic array using joint memory. More... | |
Functions | |
template<typename T , class RawAllocator , class Mutex > | |
bool | operator== (std::nullptr_t, const joint_ptr< T, RawAllocator, Mutex > &ptr) |
template<typename T , class RawAllocator , class Mutex > | |
bool | operator== (T *p, const joint_ptr< T, RawAllocator, Mutex > &ptr) |
template<typename T , class RawAllocator , class Mutex > | |
bool | operator!= (std::nullptr_t, const joint_ptr< T, RawAllocator, Mutex > &ptr) |
template<typename T , class RawAllocator , class Mutex > | |
bool | operator!= (T *p, const joint_ptr< T, RawAllocator, Mutex > &ptr) |
template<typename T , class RawAllocator , typename... Args> | |
auto | allocate_joint (RawAllocator &alloc, joint_size additional_size, Args &&... args) -> joint_ptr< T, RawAllocator > |
template<typename T , class RawAllocator , typename... Args> | |
auto | allocate_joint (const RawAllocator &alloc, joint_size additional_size, Args &&... args) -> joint_ptr< T, RawAllocator > |
template<class RawAllocator , typename T > | |
auto | clone_joint (RawAllocator &alloc, const joint_type< T > &joint) -> joint_ptr< T, RawAllocator > |
template<class RawAllocator , typename T > | |
auto | clone_joint (const RawAllocator &alloc, const joint_type< T > &joint) -> joint_ptr< T, RawAllocator > |
bool | operator!= (const joint_allocator &lhs, const joint_allocator &rhs) noexcept |
Generated by
