31 #include "../my_config.h"
43 class mem_sized :
public mem_manager
46 mem_sized(U_I x_block_size);
47 mem_sized(
const mem_sized & ref) {
throw SRC_BUG; };
48 const mem_sized & operator = (
const mem_sized & ref) {
throw SRC_BUG; };
56 void *alloc(mem_allocator * & ptr);
59 bool is_empty()
const;
62 std::string dump()
const;
64 #ifdef LIBDAR_DEBUG_MEMORY
67 U_I max_percent_full()
const;
71 virtual void push_to_release_list(mem_allocator *ref);
74 static const U_I average_table_size = 10240;
77 std::list<mem_cluster *> clusters;
78 std::list<mem_cluster *>::iterator next_free_in_table;
79 mem_cluster *pending_release;
80 #ifdef LIBDAR_DEBUG_MEMORY
defines mem_cluster class that holds a fixed set of fixed size allocatable memory blocks ...
this is the base class of object that can provide dynamically allocated memory blocks ...
libdar namespace encapsulate all libdar symbols