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

oscl_opaque_type.h

Go to the documentation of this file.
00001 // -*- c++ -*-
00002 // = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
00003 
00004 //                     O S C L _ O P A Q U E _ T Y P E
00005 
00006 // = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
00007 
00018 #ifndef OSCL_OPAQUE_TYPE_H_INCLUDED
00019 #define OSCL_OPAQUE_TYPE_H_INCLUDED
00020 
00021 #ifndef OSCL_BASE_H_INCLUDED
00022 #include "oscl_base.h"
00023 #endif
00024 
00025 
00026 
00030 class Oscl_Opaque_Type_Alloc
00031 {
00032     public:
00033         virtual ~Oscl_Opaque_Type_Alloc() {}
00034 
00039         virtual void construct(OsclAny* p, const OsclAny* init_val) = 0;
00040 
00044         virtual void destroy(OsclAny* p) = 0;
00045 
00049         virtual OsclAny* allocate(const uint32 size) = 0;
00050 
00054         virtual void deallocate(OsclAny* p) = 0;
00055 };
00056 
00060 class Oscl_Opaque_Type_Compare
00061 {
00062     public:
00063         virtual ~Oscl_Opaque_Type_Compare() {}
00064 
00069         virtual void swap(OsclAny* a, const OsclAny* b) = 0;
00070 
00074         virtual int compare_LT(OsclAny* a, OsclAny* b) const = 0;
00075 
00079         virtual int compare_EQ(const OsclAny* a, const OsclAny* b) const = 0;
00080 
00081 };
00082 
00087 class Oscl_Opaque_Type_Alloc_LL
00088 {
00089     public:
00090         virtual ~Oscl_Opaque_Type_Alloc_LL() {}
00091 
00096         virtual void construct(OsclAny* p, const OsclAny* init_val) = 0;
00097 
00101         virtual void destroy(OsclAny* p) = 0;
00102 
00106         virtual OsclAny* allocate(const uint32 size) = 0;
00107 
00111         virtual void deallocate(OsclAny* p) = 0;
00112 
00116         virtual OsclAny* get_next(const OsclAny* elem)const = 0;
00117 
00121         virtual void set_next(OsclAny* elem, const OsclAny* nextelem) = 0;
00122 
00126         virtual void get_data(OsclAny*elem, OsclAny*data_val) = 0;
00127 
00131         virtual bool compare_data(const OsclAny*elem, const OsclAny*data_val)const = 0;
00132 };
00133 
00137 #endif
00138 
00139 
00140 
00141 
00142 

OSCL API
Posting Version: CORE_8.508.1.1