#include <boost/interprocess/smart_ptr/unique_ptr.hpp>
using namespace boost::interprocess;

struct poly_deleter
{
    template<typename T>
	void operator()(T *p)
	{
		delete p;
	}
};

typedef unique_ptr<int, poly_deleter> u_ptr;

u_ptr func()
{
	return u_ptr();
}

int main()
{
	u_ptr u;
	u = func();
}
