Private heaps, pools, and associations. More...
#include <ucommon/platform.h>
#include <ucommon/protocols.h>
#include <ucommon/linked.h>
Go to the source code of this file.
Data Structures | |
class | ucc::assoc_pointer< T, I, M, P > |
A typed template for using a key association with typed objects. More... | |
class | ucc::autorelease |
Create a linked list of auto-releasable objects. More... | |
class | ucc::bufpager |
Buffered pager for storing paged strings for character protocol. More... | |
class | ucc::keyassoc |
A class to hold memory pointers referenced by string names. More... | |
class | ucc::keypager< T, M > |
A template class for a hash pager. More... | |
class | ucc::memalloc |
A memory protocol pager for private heap manager. More... | |
class | ucc::mempager |
A managed private heap for small allocations. More... | |
class | ucc::pager< T > |
Mempager managed type factory for pager pool objects. More... | |
class | ucc::PagerObject |
This is a base class for objects that may be created in pager pools. More... | |
class | ucc::PagerPool |
Pager pool base class for managed memory pools. More... | |
Namespaces | |
namespace | ucc |
Common namespace for all ucommon objects. |
Private heaps, pools, and associations.
Private heaps often can reduce locking contention in threaded applications since they do not require using the global "malloc" function. Private heaps also can be used as auto-release heaps, where all memory allocated and handled out for small objects can be automatically released all at once. Pager pools are used to optimize system allocation around page boundaries. Associations allow private memory to be tagged and found by string identifiers.
Definition in file memory.h.