#ifndef __SPACE_VECTOR__H__ #define __SPACE_VECTOR__H__ class PointerTreeNode { public: PointerTreeNode *parent; int shift; void *children[16]; PointerTreeNode(PointerTreeNode *p,int s); ~PointerTreeNode(); }; class PointerTree { PointerTreeNode *root; public: void **get_entry(int index); PointerTree(); ~PointerTree(); }; template <class PtrType> class SparseVector { PointerTree tree; public: PtrType &operator[](int index) { return *((PtrType *)tree.get_entry(index)); } }; #endif
written by Dimitri van Heesch, © 1997-1999