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

# oscl_heapbase.h

Go to the documentation of this file.

    00001 // -*- c++ -*-
    00002 // = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
    00003
    00004 //                 O S C L _ H E A P B A S E
    00005
    00006 // = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
    00007
    00017 #ifndef OSCL_HEAPBASE_H_INCLUDED
    00018 #define OSCL_HEAPBASE_H_INCLUDED
    00019
    00020 #ifndef OSCLCONFIG_ERROR_H_INCLUDED
    00021 #include "osclconfig_error.h"
    00022 #endif
    00023
    00024 #ifndef OSCL_BASE_H_INCLUDED
    00025 #include "oscl_base.h"
    00026 #endif
    00027
    00034 class _OsclHeapBase
    00035 {
    00036     public:
    00037         virtual ~_OsclHeapBase() {}
    00038
    00039     protected:
    00040         _OsclHeapBase() {}
    00041         _OsclHeapBase(const _OsclHeapBase&) {}
    00042     private:
    00043         _OsclHeapBase& operator=(const _OsclHeapBase&);
    00044         friend class PVCleanupStack;
    00045 };
    00046
    00052 typedef void (*OsclTrapOperation)(OsclAny*);
    00053
    00054 class OsclTrapItem
    00055 {
    00056     public:
    00057         OSCL_INLINE OsclTrapItem(OsclTrapOperation anOperation);
    00058         OSCL_INLINE OsclTrapItem(OsclTrapOperation anOperation, OsclAny* aPtr);
    00059     private:
    00060         OsclTrapOperation iOperation;
    00061         OsclAny* iPtr;
    00062         friend class OsclTrapStackItem;
    00063         friend class OsclTrapStack;
    00064 };
    00065
    00066
    00067
    00068 #if !(OSCL_DISABLE_INLINES)
    00069 #include "oscl_heapbase.inl"
    00070 #endif
    00071
    00072 #endif //
    00073
    00074