1 #ifndef GINTENLIB_INCLUDED_DESTRUCTOR_HPP_
2 #define GINTENLIB_INCLUDED_DESTRUCTOR_HPP_
6 <gintenlib/destructor.hpp>
8 destructor ¡§ ¥Ç¥¹¥È¥é¥¯¥¿¸Æ¤Ó½Ð¤·¤ÈÅù²Á¤Ê¥Õ¥¡¥ó¥¯¥¿
9 typed_destructor ¡§ ·¿¤Î»ØÄꤵ¤ì¤¿ destructor
12 ¥Ç¥¹¥È¥é¥¯¥¿¸Æ¤Ó½Ð¤·ÍѤδؿô¥ª¥Ö¥¸¥§¥¯¥È¤Ç¤¹¡£¤½¤ì°Ê³°¤Î²¿Êª¤Ç¤â¤¢¤ê¤Þ¤»¤ó¡£
13 deleter ¤Ï boost::checked_delete ¤ò¸Æ¤ó¤Ç¤Þ¤¹¤¬¡¢¤³¤ÎÃæ¤Ç¤Ïñ¤Ë delete ±é»»»Ò¤ò¸Æ¤ó¤Ç¤¤¤ë¤À¤±¡£
14 dummy_deleter ¤Ï delete ±é»»»Ò¤¹¤é¸Æ¤Ð¤Ê¤¤¡¢Ã±¤Ê¤ë¥×¥ì¡¼¥¹¥Û¥ë¥À¡¼¤È¤·¤Æµ¡Ç½¤·¤Þ¤¹¡£
15 ¤½¤ì¤¾¤ì·¿ÉեС¼¥¸¥ç¥ó¤â¤¢¤ê¡¢¤½¤ì¤é¤Ï unary_function ¤Î¾ò·ï¤òËþ¤¿¤·¤Æ¤¤¤Þ¤¹¡£
20 #include <boost/checked_delete.hpp>
24 // ¥Ç¥¹¥È¥é¥¯¥¿¤ò¸Æ¤Ó½Ð¤¹¥Õ¥¡¥ó¥¯¥¿
27 typedef void result_type;
30 void operator()( T* p ) const
35 }; // struct destructor
37 // ·¿¤Î«Çû¤µ¤ì¤¿ destructor
39 struct typed_destructor
40 : std::unary_function<T*, void>
42 void operator()( T* p ) const
44 destructor().operator()<T>( p );
47 }; // struct typed_destructor<T>
49 } // namespace gintenlib
51 #endif // #ifndef GINTENLIB_INCLUDED_DESTRUCTOR_HPP_