10 Ranges library [ranges]

10.4 Range access [range.access]

10.4.3 cbegin [range.access.cbegin]

The name cbegin denotes a customization point object ([customization.point.object]). The expression ranges::cbegin(E) for some subexpression E of type T is expression-equivalent to ranges::begin(static_cast<const T&>(E)).

Use of ranges::cbegin(E) with rvalue E is deprecated. [ Note: This deprecated usage exists so that ranges::cbegin(E) behaves similarly to std::cbegin(E) as defined in ISO/IEC 14882 when E is an rvalue.  — end note ]

Note: Whenever ranges::cbegin(E) is a valid expression, its type satisfies Iterator.  — end note ]