UCommon
Data Structures | Namespaces
ucommon/memory.h File Reference

Private heaps, pools, and associations. More...

#include <ucommon/platform.h>
#include <ucommon/protocols.h>
#include <ucommon/linked.h>
Include dependency graph for memory.h:
This graph shows which files directly or indirectly include this file:

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.



Detailed Description

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.