CppGC  1.01
threadctx.h
00001 #ifndef __THREADCTX_H__
00002 #define __THREADCTX_H__
00003 
00004 
00005 namespace GC
00006 {
00007     class ThreadContextImpl 
00008     {
00009       public:
00010         void  set(void* val);
00011 
00012       protected:
00013         void* get();
00014         
00015         ThreadContextImpl();
00016         ~ThreadContextImpl();
00017 
00018         unsigned int key;
00019     };
00020 
00024     template<class T>
00025     class ThreadContext : public ThreadContextImpl 
00026     {
00027       public:
00028         T* get() { 
00029             return (T*)ThreadContextImpl::get();
00030         }
00031     };
00032 };
00033 
00034 #endif
00035 
00036