A smart pointer that allocates the type on the heap but copying the pointer copys the object.
This class can be helpful when implementing the PIMPL C++ pattern.
Contents: