boost::text::utf_range_like_iterator
// In header: <boost/text/transcode_algorithm.hpp> template<typename Range> struct utf_range_like_iterator { // types typedef decltype(std::declval< Range >().begin()) type; };