cpp/concepts/convertible to

The concept specifies that an expression of the same type and value category as those of  can be implicitly and explicitly converted to the type, and the two forms of conversion are equivalent.

Semantic requirements
is modeled only if, given a function of type  such that the expression  is equality-preserving,
 * Either
 * is neither an object type nor a reference-to-object type, or
 * is equal to, and


 * One of the following is true:
 * is not a reference-to-object type, or
 * is an rvalue reference to a non-const-qualified type, and the resulting state of the object referenced by is valid but unspecified after either expression above; or
 * the object referred to by is not modified by either expression above.