jrtplib3.11.1のソースコード分析(一):補助類
2520 ワード
概要
jthreadライブラリ
jthreadは主にプラットフォームにまたがるthreadクラスとmutexクラスをカプセル化し、以下を含む.
jrtplibクラス:
struct MemoryInfo //
{
void *ptr; //
size_t size; //
int lineno; //
char *filename; //
MemoryInfo *next;
};
void *operator new(size_t s,char filename[],int line) //
void dodelete(void *p) //
class HashElement
{
public:
HashElement(const Element &e,int index):element(e) { hashprev = 0; hashnext = 0; listnext = 0; listprev = 0; hashindex = index; }
int GetHashIndex() { return hashindex; }
Element &GetElement() { return element; }
#ifdef RTPDEBUG
void Dump() { std::cout << "\tHash index " << hashindex << " | Element " << element << std::endl; }
#endif // RTPDEBUG
private:
int hashindex;
Element element;
public:
HashElement *hashprev,*hashnext;
HashElement *listprev,*listnext;
};
// key HashElement
HashElement *table[hashsize];
//
HashElement *firsthashelem,*lasthashelem;
//
HashElement *curhashelem;