contiguous_iterator c++20 как это работает

Я в упор не понимаю что тут происходит, Можете вкратце объяснить как это использовать например для пользовательского шаблонного класса строк где есть строки *char или *wchar_t и leng_str. Благодарю за ответы.

template<class I>
    concept contiguous_iterator =
        random_access_iterator<I> &&
        derived_from<ITER_CONCEPT(I), contiguous_iterator_tag> &&
        is_lvalue_reference_v<iter_reference_t<I>> &&
        same_as<iter_value_t<I>, remove_cvref_t<iter_reference_t<I>>> &&
        requires(const I& i) {
            { to_address(i) } -> same_as<add_pointer_t<iter_reference_t<I>>>;
        };

Ответы (0 шт):