00001 /* -*- C++ -*- 00002 * $Id: count_pointer.hh 957 2005-03-07 16:01:20Z sjoyeux $ 00003 */ 00004 #ifndef UTILMM_SMART_COUNT_POINTER_HEADER 00005 # define UTILMM_SMART_COUNT_POINTER_HEADER 00006 #include "utilmm/config/config.h" 00007 00008 #include "utilmm/smart/bits/ref_count_manager.hh" 00009 #include "utilmm/smart/bits/simple_memory.hh" 00010 #include "utilmm/smart/pointer.hh" 00011 00012 namespace utilmm { 00013 namespace smart { 00014 00043 template<typename Ty> 00044 struct count_pointer { 00045 private: 00046 typedef ref_count::simple_memory<Ty> mem_type; 00047 typedef ref_count::manager<mem_type> manager_type; 00048 00049 public: 00055 typedef pointer<manager_type> type; 00056 }; // struct utilmm::smart::count_pointer 00057 00058 } // namespace utilmm::smart 00059 } // namespace utilmm 00060 00061 #endif // UTILMM_SMART_COUNT_POINTER_HEADER 00062