Using boost::noncopyable