1 /* ------------------------------------------------------------------ 2 * Copyright (C) 1998-2009 PacketVideo 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either 13 * express or implied. 14 * See the License for the specific language governing permissions 15 * and limitations under the License. 16 * ------------------------------------------------------------------- 17 */ 18 // -*- c++ -*- 19 // = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = 20 21 // O S C L _ B A S E _ A L L O C 22 23 // = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = 24 25 /*! \addtogroup osclbase OSCL Base 26 * 27 * @{ 28 */ 29 30 31 /*! \file oscl_base_alloc.h 32 \brief A basic allocator that does not rely on other modules 33 */ 34 35 36 #ifndef OSCL_BASE_ALLOC_H_INCLUDED 37 #define OSCL_BASE_ALLOC_H_INCLUDED 38 39 #include "osclconfig.h" 40 #include "oscl_defalloc.h" 41 #include "osclconfig_memory.h" 42 43 /** A basic allocator that does not rely on other modules. 44 * There is no memory auditing or exception generation. 45 * 46 * Note: this allocator is for internal use by Oscl code only. 47 * Higher level code should use OsclMemAllocator defined in 48 * "oscl_mem.h". 49 */ 50 class _OsclBasicAllocator: public Oscl_DefAlloc 51 { 52 public: allocate(const uint32 size)53 OsclAny* allocate(const uint32 size) 54 { 55 return malloc(size); 56 } 57 deallocate(OsclAny * p)58 void deallocate(OsclAny *p) 59 { 60 free(p); 61 } 62 ~_OsclBasicAllocator()63 virtual ~_OsclBasicAllocator() {} 64 }; 65 66 /*! @} */ 67 68 #endif // OSCL_BASE_H_INCLUDED 69