Eneboo - Documentación para desarrolladores
|
00001 #ifndef _TRYHEAP_H_ 00002 #define _TRYHEAP_H_ 00003 00004 template <class Heap1, class Heap2> 00005 class TryHeap : public Heap2 { 00006 public: 00007 TryHeap (void) 00008 {} 00009 00010 inline void * malloc (size_t sz) { 00011 void * ptr = heap1.malloc (sz); 00012 if (ptr == NULL) 00013 ptr = Heap2::malloc (sz); 00014 return ptr; 00015 } 00016 00017 inline void free (void * ptr) { 00018 heap1.free (ptr); 00019 } 00020 00021 private: 00022 Heap1 heap1; 00023 }; 00024 00025 00026 #endif