struct foo{boost::shared_ptr ptr;};とかやればいいんじゃねーの