Defined in header
copyable<T> specifies that
T is an
movable object type that can also copied (that is, it supports copy construction and copy assignment).
 See also
| specifies that an object of a type can be moved and swapped |