20 #ifndef PTR_LINKED_POOL_H 21 #define PTR_LINKED_POOL_H 23 #ifndef SHEAF_DLL_SPEC_H 24 #include "SheafSystem/sheaf_dll_spec.h" 28 #include "SheafSystem/block.h" 31 #ifndef STD_IOSTREAM_H 32 #include "SheafSystem/std_iostream.h" 35 #ifndef SINGLY_LINKED_LIST_H 36 #include "SheafSystem/singly_linked_list.h" 51 class SHEAF_DLL_SPEC ptr_linked_pool
60 size_t capacity()
const;
65 size_t free_size()
const;
70 size_t allocated_size()
const;
75 void reserve(
size_t xcapacity);
90 void deallocate(T* xobject);
102 void print(std::ostream& xos)
const;
107 ptr_linked_pool(
size_t xcapacity = 1024);
135 singly_linked_list<block<T>*> _chunk_list;
147 template <
typename T>
148 std::ostream& operator<< (std::ostream& xos, const ptr_linked_pool<T>& xp);
153 #endif // ifndef PTR_LINKED_POOL_H Namespace for the sheaves component of the sheaf system.