Home | History | Annotate | Download | only in src
      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:
     53         OsclAny* allocate(const uint32 size)
     54         {
     55             return malloc(size);
     56         }
     57 
     58         void deallocate(OsclAny *p)
     59         {
     60             free(p);
     61         }
     62 
     63         virtual ~_OsclBasicAllocator() {}
     64 };
     65 
     66 /*! @} */
     67 
     68 #endif  // OSCL_BASE_H_INCLUDED
     69