|  | Home | Libraries | People | FAQ | More | 
        The header <boost/noncopyable.hpp>
        defines the class boost::noncopyable. It is intended to be used
        as a private base. boost::noncopyable
        has private (under C++03) or deleted (under C++11) copy constructor and a
        copy assignment operator and can't be copied or assigned; a class that derives
        from it inherits these properties.
      
        boost::noncopyable was originally contributed
        by Dave Abrahams.
      
namespace boost { class noncopyable; }
#include <boost/core/noncopyable.hpp> class X: private boost::noncopyable { };
Class noncopyable has protected constructor and destructor members to emphasize that it is to be used only as a base class. Dave Abrahams notes concern about the effect on compiler optimization of adding (even trivial inline) destructor declarations. He says:
          “Probably this concern is misplaced, because noncopyable
          will be used mostly for classes which own resources and thus have non-trivial
          destruction semantics.”
        
          With C++2011, using an optimized and trivial constructor and similar destructor
          can be enforced by declaring both and marking them default.
          This is done in the current implementation.