boost::text::grapheme_iterator
// In header: <boost/text/grapheme_iterator.hpp> template<code_point_iter I, std::sentinel_for< I > S = I> struct grapheme_iterator { // types typedef grapheme_ref< I > value_type; typedef std::ptrdiff_t difference_type; typedef stl_interfaces::proxy_arrow_result< value_type > pointer; typedef value_type reference; typedef std::bidirectional_iterator_tag iterator_category; typedef I iterator; typedef S sentinel; // construct/copy/destruct grapheme_iterator(); grapheme_iterator(iterator, iterator, sentinel); template<code_point_iter I2, std::sentinel_for< I2 > S2> grapheme_iterator(grapheme_iterator< I2, S2 > const &); // public member functions constexpr reference operator*() const; constexpr pointer operator->() const; constexpr iterator base() const; constexpr grapheme_iterator & operator++(); constexpr grapheme_iterator operator++(int); constexpr grapheme_iterator & operator--(); constexpr grapheme_iterator operator--(int); // private member functions constexpr iterator seq_begin() const; constexpr iterator gr_begin() const; constexpr iterator gr_end() const; constexpr sentinel seq_end() const; };
A bidirectional filtering iterator that iterates over the extended grapheme clusters in a sequence of code points.
grapheme_iterator
public
construct/copy/destructgrapheme_iterator();
grapheme_iterator(iterator first, iterator it, sentinel last);
template<code_point_iter I2, std::sentinel_for< I2 > S2> grapheme_iterator(grapheme_iterator< I2, S2 > const & other);
grapheme_iterator
public member functionsconstexpr reference operator*() const;
constexpr pointer operator->() const;
constexpr iterator base() const;
constexpr grapheme_iterator & operator++();
constexpr grapheme_iterator operator++(int);
constexpr grapheme_iterator & operator--();
constexpr grapheme_iterator operator--(int);