Main Page   Modules   Class Hierarchy   Data Structures   File List   Data Fields   Globals   Related Pages  

oscl_mempool_allocator.h

Go to the documentation of this file.
00001 // -*- c++ -*-
00002 // = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
00003 
00004 //               O S C L _ M E M P O O L _ A L L O C A T O R
00005 
00006 // = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
00007 
00018 /***************************************************************************************
00019 File Name       : oscl_mempool_allocator.h
00020 Description     : File containing definition of class OsclMemPoolAllocator that provides
00021                   methods for creating, deleting memory pool.
00022 Coding History  :
00023                   Achint Kaur           April 11, 2006      Initial Draft
00024 ***************************************************************************************/
00025 #ifndef OSCL_MEMPOOL_ALLOCATOR_H_INCLUDED
00026 #define OSCL_MEMPOOL_ALLOCATOR_H_INCLUDED
00027 
00028 #ifndef OSCL_DEFALLOC_H_INCLUDED
00029 // For custom allocator Oscl_DefAlloc object
00030 #include "oscl_defalloc.h"
00031 #endif
00032 
00033 class OsclMemPoolAllocator
00034 {
00035     public:
00036         // Constructor
00037         OsclMemPoolAllocator(Oscl_DefAlloc* gen_alloc = NULL);
00038 
00039         // Virtual destructor
00040         virtual ~OsclMemPoolAllocator();
00041 
00042         // Create memory pool
00043         OsclAny* CreateMemPool(const uint32 aNumChunk = 2, const uint32 aChunkSize = 4);
00044 
00045         // Delete memory pool
00046         void DestroyMemPool();
00047 
00048         // Memory alignment
00049         uint oscl_mem_aligned_size(uint size);
00050 
00051     private:
00052         // Custom allocator for memory
00053         Oscl_DefAlloc* iCustomAllocator;
00054 
00055         // Base address for memory pool
00056         OsclAny* iBaseAddress;
00057 
00058 };
00059 
00060 #endif

OSCL API
Posting Version: CORE_8.000.1.1_RC4