boost::text::forward_line_break_view
// In header: <boost/text/line_break.hpp> template<typename CPIter, typename CPSentinel, typename Extent, typename CPExtentFunc, typename Subrange = line_break_cp_view<CPIter> > struct forward_line_break_view : public stl_interfaces::view_interface< forward_line_break_view< CPIter, CPSentinel, Extent, CPExtentFunc, line_break_cp_view< CPIter > > > { // types typedef unspecified iterator; typedef unspecified sentinel; // construct/copy/destruct forward_line_break_view(); forward_line_break_view(CPIter, CPSentinel, Extent, CPExtentFunc, bool); // public member functions iterator begin() const; sentinel end() const; CPExtentFunc extent_func(); };
Represents a forward-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. If forward_line_break_view is constructed with a stateful CPExtentFunc
, you can get it back by moving it out via extent_func()
.