C++ concepts: TrivialClock
From cppreference.com
                    
                                        
                    
                    
                                                            
                    The TrivialClock concept describes the requirements satisfied by all the clocks in the chrono library.
[edit] Requirements
For a type TC:
-  The type must meet 
Clockrequirements. -  The types TC::rep, TC::duration, and TC::time_point satisfy the requirements of 
EqualityComparable,LessThanComparable,DefaultConstructible,CopyConstructible,CopyAssignable,Destructible, andNumericType. -  lvalues of the types TC::rep, TC::duration, and TC::time_point are 
Swappable. - The function TC::now() does not throw exceptions.
 -  The type TC::time_point::clock meets the 
TrivialClockrequirements, recursively.