#include <boost/interprocess/smart_ptr/unique_ptr.hpp> #include <boost/function.hpp> #include <iostream> struct hoge { hoge() { std::cout << "hoge()" << std::endl; } ~hoge() { std::cout << "~hoge()" << std::endl; } }; struct my_deletor { void operator() ( const hoge* h ) const { std::cout << "my_deletor" << std::endl; delete h; } }; void my_deletor2( const hoge* h ) { std::cout << "my_deletor2" << std::endl; delete h; } using boost::interprocess::unique_ptr; int main() { unique_ptr<hoge,my_deletor> hptr( new hoge, my_deletor() ); unique_ptr<hoge,boost::function<void(const hoge*)> > hptr2( new hoge, my_deletor2 ); return 0; }
2012年4月19日木曜日
boost::interprocess::unique_ptr 習作
カスタム・デリータが欲しくて、排他制御なんていらん。そういう場合。
登録:
コメントの投稿 (Atom)
0 件のコメント:
コメントを投稿