binheap.h

来自「hoard内存管理器」· C头文件 代码 · 共 43 行

H
43
字号
/* -*- C++ -*- */#ifndef _BINHEAP_H_#define _BINHEAP_H_#include <stdio.h>template <int Bins[], int NumBins, class Super>class BinHeap {public:    inline void * malloc (size_t sz) {    // Find bin.    int bin = findBin (sz);    void * ptr = myHeaps[bin].malloc (sz);    return ptr;  }    inline void free (void * ptr) {    size_t sz = Super::size (ptr);    int bin = findBin (sz);    myHeaps[bin].free (ptr);  }private:  inline int findBin (size_t sz) {    int i;    for (i = 0; i < NumBins; i++) {      if (Bins[i] >= sz) {	break;      }    }    return i;  }  Super myHeaps[NumBins + 1];};#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?