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.