More C++ Idioms/Free Function Allocators
Jump to navigation
Jump to search
Free Function Allocators [edit | edit source]
Intent[edit | edit source]
Allow containers to use custom allocators without creating a new type
Also Known As[edit | edit source]
Motivation[edit | edit source]
C++ standard allocators have serious problems, because they change the underlying type of the container.
Solution and Sample Code[edit | edit source]
This idiom is superior to the way that std::allocators work the whole idiom is outlined here.
struct user_allocator_nedmalloc
{
typedef std::size_t size_type;
typedef std::ptrdiff_t difference_type;
static inline char* malloc(const size_type bytes) {
return reinterpret_cast<char*>(nedmalloc(bytes));
}
static inline void free(char* const block) {
nedfree(block);
}
};
Known Uses[edit | edit source]
- boost::ptr_container