PrevUpHomeNext

Struct template stream_safe_iterator

boost::text::stream_safe_iterator

Synopsis

// In header: <boost/text/stream_safe.hpp>

template<code_point_iter I, std::sentinel_for< I > S = I> 
struct stream_safe_iterator : public stl_interfaces::iterator_interface< stream_safe_iterator< I, I >, std::bidirectional_iterator_tag, uint32_t, uint32_t >
{
  // types
  typedef I                                                                                                                       iterator; 
  typedef S                                                                                                                       sentinel; 
  typedef stl_interfaces::iterator_interface< stream_safe_iterator< I, S >, std::bidirectional_iterator_tag, uint32_t, uint32_t > base_type;

  // construct/copy/destruct
  stream_safe_iterator();
  stream_safe_iterator(iterator, sentinel);

  // public member functions
  uint32_t operator*() const;
  constexpr I base() const;
  stream_safe_iterator & operator++();
  stream_safe_iterator & operator--();
};

Description

An iterator that filters out all the non-stream-safe code points from a sequence of code points.

See Also:

https://unicode.org/reports/tr15/#Stream_Safe_Text_Format

stream_safe_iterator public construct/copy/destruct

  1. stream_safe_iterator();
  2. stream_safe_iterator(iterator first, sentinel last);

stream_safe_iterator public member functions

  1. uint32_t operator*() const;
  2. constexpr I base() const;
  3. stream_safe_iterator & operator++();
  4. stream_safe_iterator & operator--();

PrevUpHomeNext