tahonermann / text_view

A C++ concepts and range based character encoding and code point enumeration library
MIT License
122 stars 14 forks source link

Use basic_view<T*> for the underlying range of contiguous iterators #30

Open tahonermann opened 7 years ago

tahonermann commented 7 years ago

make_text_view() overloads that accept ranges or iterator/sentinel pairs over a code unit type of Treturn a basic_text_view specialization that uses a view type of basic_view<iterator>. Template instantiations could be reduced and type interoperability potentially improved by using a view type of basic_view<T*> for contiguous ranges and iterators.

At present, this requires either hard-coding for the contiguous containers the standard provides, or using cmcstl2/range-v3 extensions; the standard doesn't yet provide support for compile-time detection of contiguous ranges/iterators.