cpp/experimental/ranges/concepts/ConvertibleTo

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

Specifically, is satisfied only if, given the invented function and a function of type  such that the expression  is equality-preserving (see below),
 * 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.

There need not be any subsumption relationship between and.