ucommon

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:

Go to the source code of this file.

Data Structures

class  assoc_pointer< T, I, M, P >
 A typed template for using a key association with typed objects. More...
class  autorelease
 Create a linked list of auto-releasable objects. More...
class  bufpager
 Buffered pager for storing paged strings for character protocol. More...
class  keyassoc
 A class to hold memory pointers referenced by string names. More...
class  keypager< T, M >
 A template class for a hash pager. More...
class  memalloc
 A memory protocol pager for private heap manager. More...
class  mempager
 A managed private heap for small allocations. More...
class  pager< T >
 Mempager managed type factory for pager pool objects. More...
class  PagerObject
 This is a base class for objects that may be created in pager pools. More...
class  PagerPool
 Pager pool base class for managed memory pools. More...

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.