#include <memory>    // for std::unique_ptr

#include <cstdlib>   // for EXIT_SUCCESS



int main(int argc, char **argv) {

  std::unique_ptr<int> x(new int(5));



  // fail, no copy constructor

  std::unique_ptr<int> y(x);



  // succeed, z starts with NULL pointer

  std::unique_ptr<int> z;



  // fail, no assignment operator

  z = x;



  return EXIT_SUCCESS;

}