neoGFX
Cross-platform C++ app/game engine
Loading...
Searching...
No Matches
allocator.hpp File Reference
#include <neolib/neolib.hpp>
#include <memory>
#include <type_traits>
#include <ostream>
#include <boost/pool/pool_alloc.hpp>
#include <boost/pool/singleton_pool.hpp>
#include <neolib/core/memory.hpp>

Go to the source code of this file.

Classes

class  neolib::neo_pool_allocator< T, ChunkSize, Omega, Instance >
 
struct  neolib::neo_pool_allocator< T, ChunkSize, Omega, Instance >::rebind< U >
 
class  neolib::reserve_allocator< T, N, Instance >
 
struct  neolib::reserve_allocator< T, N, Instance >::rebind< U >
 
struct  neolib::small_buffer_allocator_types< T, R >
 
struct  neolib::small_buffer< T, SmallBufferSize >
 
class  neolib::basic_small_buffer_allocator< small_buffer_allocator_types< T, R >, SmallBufferSize >
 
struct  neolib::basic_small_buffer_allocator< small_buffer_allocator_types< T, R >, SmallBufferSize >::no_small_buffer
 
struct  neolib::basic_small_buffer_allocator< small_buffer_allocator_types< T, R >, SmallBufferSize >::rebind< U >
 

Namespaces

namespace  neolib
 

Typedefs

template<typename T , std::size_t SmallBufferSize = 8u>
using neolib::small_buffer_allocator = basic_small_buffer_allocator< small_buffer_allocator_types< T, T >, SmallBufferSize >
 
template<typename T , std::size_t ChunkSize = 1 * 1024 * 1024>
using neolib::omega_pool_allocator = neo_pool_allocator< T, ChunkSize, true >
 
template<typename T , unsigned NextSize = 32>
using neolib::thread_safe_pool_allocator = boost::pool_allocator< T, boost::default_user_allocator_new_delete, boost::details::pool::default_mutex, NextSize >
 
template<typename T , unsigned NextSize = 32>
using neolib::pool_allocator = boost::pool_allocator< T, boost::default_user_allocator_new_delete, boost::details::pool::null_mutex, NextSize >
 
template<typename T , unsigned NextSize = 32>
using neolib::thread_safe_fast_pool_allocator = boost::fast_pool_allocator< T, boost::default_user_allocator_new_delete, boost::details::pool::default_mutex, NextSize >
 
template<typename T , unsigned NextSize = 32>
using neolib::fast_pool_allocator = boost::fast_pool_allocator< T, boost::default_user_allocator_new_delete, boost::details::pool::null_mutex, NextSize >
 

Functions

template<typename T , typename U , std::size_t SmallBufferSize>
bool neolib::operator== (const basic_small_buffer_allocator< T, SmallBufferSize > &, const basic_small_buffer_allocator< U, SmallBufferSize > &)
 
template<typename T , typename U , std::size_t SmallBufferSize>
bool neolib::operator!= (const basic_small_buffer_allocator< T, SmallBufferSize > &, const basic_small_buffer_allocator< U, SmallBufferSize > &)