There are at least four main copy operations
Each one can be declared “=delete”. In http://talesofcpp.fusionfenix.com/post-24/episode-eleven-to-kill-a-move-constructor, the author says you can have four combinations:
3) copyable_only — rare. A meaningless design, according to the author.
4) all_deleted — most restricted, most locked-down
Some important library classes are movable_only, such as …. unique_ptr, and some thread objects