boost::text::line_break_view
// In header: <boost/text/line_break.hpp> template<typename CPIter, typename CPSentinel, typename Subrange = line_break_cp_view<CPIter> > struct line_break_view : public stl_interfaces::view_interface< line_break_view< CPIter, CPSentinel, line_break_cp_view< CPIter > > > { // types typedef unspecified iterator; typedef unspecified sentinel; // construct/copy/destruct line_break_view(); line_break_view(CPIter, CPSentinel); // public member functions iterator begin() const; sentinel end() const; };
Represents a bidirectionally-iterable view of non-overlapping code point subranges. Each subrange represents the code points between one allowed line break and the next. Each subrange is lazily produced; an output subrange is not produced until an iterator is dereferenced. Each element has a member function bool hard_break()
that indicates whether the end of the subrange is at a hard line break, or just an allowed line break location.