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.