boost::text::stream_safe_view
// In header: <boost/text/stream_safe.hpp> template<typename I, std::sentinel_for< I > S = I> struct stream_safe_view : public stl_interfaces::view_interface< stream_safe_view< I, I > > { // types typedef I iterator; typedef S sentinel; // construct/copy/destruct stream_safe_view(); stream_safe_view(iterator, sentinel); // public member functions constexpr iterator begin() const; constexpr sentinel end() const; };
A view that adapts a non-stream safe sequence of code points to a stream-safe sequence of code points.
See Also:
https://unicode.org/reports/tr15/#Stream_Safe_Text_Format