gc++.hpp

00001 #ifndef SRC_INC_DETAIL_GC___HPP
00002 #define SRC_INC_DETAIL_GC___HPP
00003 
00004 #include <intrusive_list.hpp>
00005 
00006 namespace GCpp
00007 {
00008 
00011 class GCPP_PUBLIC_SYMBOL GCPointerManager
00012 {
00013     public:
00014         typedef IntrusiveList<GCBasePointer>::iterator iterator;
00015     
00016     private:
00017         static IntrusiveList<GCBasePointer> f_pointers;
00018         static size_t f_size;
00019     
00020     public:
00023         static iterator begin ();
00024         
00027         static iterator end ();
00028         
00031         static void register_pointer (GCBasePointer* p_item);
00032         
00035         static void forget_pointer (GCBasePointer* p_item);
00036         
00039         static bool is_pointer (void* p_item);
00040         
00043         static size_t size ();
00044 };
00045 
00046 } // namespace GCpp
00047 
00048 #endif /* SRC_INC_DETAIL_GC___HPP */

Generated on Thu Dec 27 14:01:59 2007 for GC++ by  doxygen 1.5.4