UCommon
ucommon::pager< T > Class Template Reference

This is a base class for objects that may be created in pager pools. More...

#include <memory.h>

Public Member Functions

T * operator() (void)
 Create a managed object by casting reference.
 
T * operator* ()
 Create a managed object by pointer reference.
 
 pager (mempager *heap=NULL)
 Construct a pager and optionally assign a private pager heap.
 

Detailed Description

template<typename T>
class ucommon::pager< T >

This is a base class for objects that may be created in pager pools.

This is also used to create objects which can be maintained as managed memory and returned to a pool. The linked list is used when freeing and re-allocating the object. These objects are reference counted so that they are returned to the pool they come from automatically when falling out of scope. This can be used to create automatic garbage collection pools.

Author
David Sugar dyfet.nosp@m.@gnu.nosp@m.telep.nosp@m.hony.nosp@m..org Pager pool base class for managed memory pools. This is a helper base class for the pager template and generally is not used by itself. If different type pools are intended to use a common memory pager then you will need to mixin a memory protocol object that performs redirection such as the MemoryRedirect class.
David Sugar dyfet.nosp@m.@gnu.nosp@m.telep.nosp@m.hony.nosp@m..org Mempager managed type factory for pager pool objects. This is used to construct a type factory that creates and manages typed objects derived from PagerObject which can be managed through a private heap.
David Sugar dyfet.nosp@m.@gnu.nosp@m.telep.nosp@m.hony.nosp@m..org

Definition at line 853 of file memory.h.

Constructor & Destructor Documentation

◆ pager()

template<typename T >
ucommon::pager< T >::pager ( mempager< T > * heap = NULL)
inline

Construct a pager and optionally assign a private pager heap.

Parameters
heappager to use. If NULL, uses global heap.

Definition at line 863 of file memory.h.

Member Function Documentation

◆ operator()()

template<typename T >
T * ucommon::pager< T >::operator() ( void )
inline

Create a managed object by casting reference.

Returns
pointer to typed managed pager pool object.

Definition at line 869 of file memory.h.

◆ operator*()

template<typename T >
T * ucommon::pager< T >::operator* ( )
inline

Create a managed object by pointer reference.

Returns
pointer to typed managed pager pool object.

Definition at line 877 of file memory.h.


The documentation for this class was generated from the following file: