explicit private boost::noncopyable