C++ named requirements: TrivialClock (since C++11)
From cppreference.com
                    
                                        
                    
                    
                                                            
                    The TrivialClock requirements describe the requirements satisfied by several clocks in the chrono library.
Requirements
For a type TC:
- The type must meet Clock requirements.
 - The types TC::rep, TC::duration, and TC::time_point satisfy the requirements of EqualityComparable, LessThanComparable, DefaultConstructible, CopyConstructible, CopyAssignable, Destructible(until C++17), Swappable, and NumericType.
 - The function TC::now() does not throw exceptions.
 - The type TC::time_point::clock meets the TrivialClock requirements, recursively.
 
Standard library
The following types in the standard library satisfy TrivialClock requirements:
|    (C++11)  | 
  wall clock time from the system-wide realtime clock  (class)  | 
|    (C++11)  | 
  monotonic clock that will never be adjusted  (class)  | 
|    (C++11)  | 
  the clock with the shortest tick period available  (class)  | 
|    (C++20)  | 
  Clock used for file time  (typedef)  | 
|    (C++17)  | 
  represents file time values  (typedef)  |