#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 件のコメント:
コメントを投稿