std::copyable
From cppreference.com
                    
                                        
                    
                    
                                                            
                    |   Defined in header  <concepts>
  | 
||
|   template <class T> concept copyable =  | 
(since C++20) | |
The concept 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
|    (C++20)  | 
  specifies that an object of a type can be moved and swapped  (concept)  |