boost::text::lazy_bidi_segment_range
// In header: <boost/text/bidirectional.hpp> template<typename CPIter, typename Sentinel, typename ResultType, typename NextLineBreakFunc = detail::bidi_next_hard_line_break_callable> struct lazy_bidi_segment_range { // types typedef unspecified iterator; // construct/copy/destruct lazy_bidi_segment_range(); lazy_bidi_segment_range(CPIter, Sentinel, int, NextLineBreakFunc = NextLineBreakFunc{}); // public member functions iterator begin(); iterator end(); };
Represents a range of non-overlapping subranges. Each subrange is a sequence of code points that are all in a consistent direction (left-to-right or right-to-left). Each subrange is lazily produced; an output subrange is not produced until an iterator is dereferenced. If C++20 coroutines are available (determined by whether __cpp_impl_coroutine
and __cpp_lib_coroutine
are defined, and the value of BOOST_TEXT_USE_COROUTINES
), lazy_bidi_segment_range
will be an alias for a generator of ResultType
elements.