PrevUpHomeNext

Header <boost/text/line_break.hpp>

namespace boost {
  namespace text {
    struct allowed_breaks_t;
    template<typename CPIter, typename CPSentinel, typename Extent, 
             typename CPExtentFunc, 
             typename Subrange = line_break_cp_view<CPIter> > 
      struct forward_line_break_view;
    template<code_point_iter I> struct line_break_cp_view;
    template<code_point_iter I> struct line_break_grapheme_view;
    template<typename CPIter> struct line_break_result;
    template<typename CPIter, typename CPSentinel, 
             typename Subrange = line_break_cp_view<CPIter> > 
      struct line_break_view;

    enum line_property;
    line_property line_prop(uint32_t);
    template<typename CPIter, typename Sentinel> 
      auto operator==(line_break_result< CPIter > result, Sentinel s);
    template<typename CPIter> 
      auto operator==(CPIter it, line_break_result< CPIter > result);
    template<typename CPIter, typename Sentinel> 
      auto operator!=(line_break_result< CPIter > result, Sentinel s);
    template<typename CPIter, typename Sentinel> 
      auto operator!=(CPIter it, line_break_result< CPIter > result);
    namespace v1 {
      template<code_point_iter I, std::sentinel_for< I > S> 
        I prev_hard_line_break(I, I, S);
      template<code_point_iter I, std::sentinel_for< I > S> 
        bool at_hard_line_break(I, I, S);
      template<code_point_iter I, std::sentinel_for< I > S> 
        line_break_result< I > prev_allowed_line_break(I, I, S);
      template<code_point_iter I, std::sentinel_for< I > S> 
        bool at_allowed_line_break(I, I, S);
      template<code_point_iter I, std::sentinel_for< I > S> 
        I next_hard_line_break(I, S);
      template<code_point_iter I, std::sentinel_for< I > S> 
        line_break_result< I > next_allowed_line_break(I, S);
      template<code_point_range R> 
        std::ranges::borrowed_iterator_t< R > 
        prev_hard_line_break(R &&, std::ranges::iterator_t< R >);
      template<code_point_range R> 
        std::ranges::borrowed_iterator_t< R > 
        next_hard_line_break(R &&, std::ranges::iterator_t< R >);
      template<code_point_range R> 
        unspecified prev_allowed_line_break(R &&, 
                                            std::ranges::iterator_t< R >);
      template<code_point_range R> 
        unspecified next_allowed_line_break(R &&, 
                                            std::ranges::iterator_t< R >);
      template<code_point_range R> 
        bool at_hard_line_break(R &&, std::ranges::iterator_t< R >);
      template<code_point_range R> 
        bool at_allowed_line_break(R &&, std::ranges::iterator_t< R >);
      template<code_point_iter I, std::sentinel_for< I > S> 
        utf32_view< I > line(I, I, S);
      template<code_point_range R> 
        unspecified line(R &&, std::ranges::iterator_t< R >);
      template<code_point_iter I, std::sentinel_for< I > S> 
        line_break_cp_view< I > allowed_line(I, I, S);
      template<code_point_range R> 
        unspecified allowed_line(R &&, std::ranges::iterator_t< R >);
      template<code_point_iter I, std::sentinel_for< I > S> 
        unspecified lines(I, S);
      template<code_point_range R> unspecified lines(R &&);
      template<code_point_iter I, std::sentinel_for< I > S, typename Extent, 
               line_break_cp_extent_func< I, Extent > ExtentFunc> 
        unspecified lines(I, S, Extent, ExtentFunc &&, bool = true);
      template<code_point_range R, typename Extent, 
               line_break_cp_extent_func< std::ranges::iterator_t< R >, Extent > ExtentFunc> 
        unspecified lines(R &&, Extent, ExtentFunc, bool = true);
      template<code_point_iter I, std::sentinel_for< I > S> 
        unspecified lines(I, S, allowed_breaks_t);
      template<code_point_range R> unspecified lines(R &&, allowed_breaks_t);
      unspecified lines(allowed_breaks_t);
    }
  }
}namespace std {
  namespace ranges {
  }
}

PrevUpHomeNext