#include <types.h>
An Uncopyable has no default copy constructor of operator=. A subclass may derive from Uncopyable at any level of visibility, even private, and subclasses will not have a default copy constructor or operator=. See also, boost::noncopyable Uncopyable (from the Boost project) and Item 6 from Scott Meyers Effective C++.