For the purposes of the specification of this trait,
the extent to which an implementation determines
that a type cannot meet the
Cpp17Clock requirements is unspecified,
except that as a minimum
a type
T shall not qualify as a
Cpp17Clock
unless it meets all of the following conditions:
- the qualified-ids
T::rep,
T::period,
T::duration, and
T::time_point
are valid and each denotes a type ([temp.deduct]),
- the expression
T::is_steady
is well-formed when treated as an unevaluated operand,
- the expression
T::now()
is well-formed when treated as an unevaluated operand.