boost::noncopyable using