corelinux::AbstractAllocator< TypeImpl > Class Template Reference

AbstractAllocator is a abstract template which provides for the extension of memory managment on a TypeImpl object by TypeImpl object basis. More...

#include <AbstractAllocator.hpp>

Inheritance diagram for corelinux::AbstractAllocator< TypeImpl >:

corelinux::Allocator corelinux::Strategy List of all members.

Public Member Functions

 AbstractAllocator (void)
 Default constructor.
 AbstractAllocator (const AbstractAllocator &aRef)
 Copy constructor.
virtual ~AbstractAllocator (void)
 Virtual destructor.
AbstractAllocatoroperator= (const AbstractAllocator &aRef)
 Assingment operator overload.
bool operator== (const AbstractAllocator &aRef) const
 Equality operator overload.
TypeImpl * createType (void)
 Create type will invoke the allocateObject method of the derivation and will increment the number of allocations.
void destroyType (TypeImpl *aPtr)
 Destroy type will invoke the deallocateObject method of the derivation and will increment the number of deallocation.

Protected Member Functions

virtual TypeImpl * allocateObject (void)=0
 allocates a object in the subclass
virtual void deallocateObject (TypeImpl *)=0
 de-allocates a object in the subclass

Detailed Description

template<class TypeImpl>
class corelinux::AbstractAllocator< TypeImpl >

AbstractAllocator is a abstract template which provides for the extension of memory managment on a TypeImpl object by TypeImpl object basis.

The derivation needs to implement the allocateObject and deallocateObject mutators for memory management.

See also:
Allocator, AbstractFactory


Constructor & Destructor Documentation

template<class TypeImpl>
corelinux::AbstractAllocator< TypeImpl >::AbstractAllocator const AbstractAllocator< TypeImpl > &  aRef  )  [inline]
 

Copy constructor.

Parameters:
AbstractAllocator const reference


Member Function Documentation

template<class TypeImpl>
virtual TypeImpl* corelinux::AbstractAllocator< TypeImpl >::allocateObject void   )  [protected, pure virtual]
 

allocates a object in the subclass

Returns:
TypeImpl pointer

template<class TypeImpl>
TypeImpl* corelinux::AbstractAllocator< TypeImpl >::createType void   )  [inline]
 

Create type will invoke the allocateObject method of the derivation and will increment the number of allocations.

In the event of any exception, the allocation count will be adjusted.

Returns:
TypeImpl pointer
Exceptions:
any 

template<class TypeImpl>
virtual void corelinux::AbstractAllocator< TypeImpl >::deallocateObject TypeImpl *   )  [protected, pure virtual]
 

de-allocates a object in the subclass

Parameters:
TypeImpl pointer

template<class TypeImpl>
void corelinux::AbstractAllocator< TypeImpl >::destroyType TypeImpl *  aPtr  )  [inline]
 

Destroy type will invoke the deallocateObject method of the derivation and will increment the number of deallocation.

In the event of any exception, the deallocation count will be adjusted

Parameters:
TypeImpl pointer
Exceptions:
any 

template<class TypeImpl>
AbstractAllocator& corelinux::AbstractAllocator< TypeImpl >::operator= const AbstractAllocator< TypeImpl > &  aRef  )  [inline]
 

Assingment operator overload.

Parameters:
AbstractAllocator const reference
Returns:
AbstractAllocator reference to self

template<class TypeImpl>
bool corelinux::AbstractAllocator< TypeImpl >::operator== const AbstractAllocator< TypeImpl > &  aRef  )  const [inline]
 

Equality operator overload.

Parameters:
AbstractAllocator const reference
Returns:
true if same identity


The documentation for this class was generated from the following file:
This is the CoreLinux++ reference manual
Provided by The CoreLinux Consortium