Memory management subsystem. More...
#include <tpie/config.h>
#include <tpie/util.h>
#include <tpie/resource_manager.h>
#include <tpie/pretty_print.h>
#include <mutex>
#include <unordered_map>
#include <type_traits>
#include <utility>
#include <memory>
#include <atomic>
Go to the source code of this file.
Classes | |
class | tpie::memory_manager |
Memory management object used to track memory usage. More... | |
struct | tpie::array_allocation_scope_magic< T > |
struct | tpie::allocation_scope_magic< T > |
struct | tpie::tpie_deleter |
class | tpie::memory_bucket |
Bucket used for memory counting. More... | |
class | tpie::memory_bucket_ref |
Class storring a reference to a memory bucket. More... | |
class | tpie::allocator< T > |
A allocator object usable in STL containers, using the TPIE memory manager. More... | |
struct | tpie::allocator< T >::rebind< U > |
Namespaces | |
tpie | |
pipelining/factory_base.h Base class of pipelining factories | |
Typedefs | |
template<typename T > | |
using | tpie::unique_ptr = std::unique_ptr< T, tpie_deleter > |
like std::unique_ptr, but delete the object with tpie_delete. More... | |
Functions | |
void | tpie::init_memory_manager () |
Used by tpie_init to initialize the memory manager. More... | |
void | tpie::finish_memory_manager () |
Used by tpie_finish to deinitialize the memory manager. More... | |
memory_manager & | tpie::get_memory_manager () |
Return a reference to the memory manager. More... | |
void | tpie::__register_pointer (void *p, size_t size, const std::type_info &t) |
void | tpie::__unregister_pointer (void *p, size_t size, const std::type_info &t) |
void | tpie::assert_tpie_ptr (void *p) |
In a debug build, assert that a given pointer has been allocated with tpie_new. More... | |
template<typename D , typename T > | |
D | tpie::ptr_cast (T *t) |
Cast between pointer types. More... | |
template<typename T > | |
T * | tpie::__allocate () |
template<typename T > | |
size_t | tpie::tpie_size (T *p) |
template<typename T > | |
T * | tpie::tpie_new_array (size_t size) |
Allocate a new array and register its memory usage. More... | |
template<typename T , typename... Args> | |
T * | tpie::tpie_new (Args &&...args) |
Allocate an element of the type given as template parameter, and register its memory usage with TPIE. More... | |
template<typename T > | |
void | tpie::tpie_delete (T *p) throw () |
Delete an object allocated with tpie_new. More... | |
template<typename T > | |
void | tpie::tpie_delete_array (T *a, size_t size) throw () |
Delete an array allocated with tpie_new_array. More... | |
template<typename T , typename... TT> | |
unique_ptr< T > | tpie::make_unique (TT &&...tt) |
Create a new unique object using tpie::new. More... | |
size_t | tpie::consecutive_memory_available (size_t granularity=5 *1024 *1024) |
Find the largest amount of memory that can be allocated as a single chunk. More... | |
Memory management subsystem.
Definition in file memory.h.