PrevUpHomeNext

Header <boost/text/transcode_algorithm.hpp>


BOOST_TEXT_USE_SIMD
namespace boost {
  namespace text {
    template<typename Range> struct utf_range_like_iterator;

    template<typename T> struct utf_range_like_iterator<T *>;
    template<std::size_t N, typename T> struct utf_range_like_iterator<T(&)[N]>;
    template<std::size_t N, typename T> struct utf_range_like_iterator<T[N]>;

    typedef typename utf_range_like_iterator< Range >::type utf_range_like_iterator_t;
    typedef in_out_result< Iter, OutIter > transcode_result;
    namespace v1 {
      template<std::input_iterator I, std::sentinel_for< I > S, 
               std::output_iterator< uint8_t > O> 
        transcode_result< I, O > transcode_to_utf8(I, S, O);
      template<typename Ptr, std::output_iterator< uint8_t > O> 
        transcode_result< Ptr, O > transcode_to_utf8(Ptr, O);
      template<std::size_t N, typename Char, 
               std::output_iterator< uint8_t > O> 
        transcode_result< Char *, O > transcode_to_utf8(Char(&), O);
      template<std::ranges::input_range R, std::output_iterator< uint8_t > O> 
        transcode_result< std::ranges::borrowed_iterator_t< R >, O > 
        transcode_to_utf8(R &&, O);
      template<std::input_iterator I, std::sentinel_for< I > S, 
               std::output_iterator< uint16_t > O> 
        transcode_result< I, O > transcode_to_utf16(I, S, O);
      template<typename Ptr, std::output_iterator< uint16_t > O> 
        transcode_result< Ptr, O > transcode_to_utf16(Ptr, O);
      template<std::size_t N, typename Char, 
               std::output_iterator< uint16_t > O> 
        transcode_result< Char *, O > transcode_to_utf16(Char(&), O);
      template<std::ranges::input_range R, std::output_iterator< uint16_t > O> 
        transcode_result< std::ranges::borrowed_iterator_t< R >, O > 
        transcode_to_utf16(R &&, O);
      template<std::input_iterator I, std::sentinel_for< I > S, 
               std::output_iterator< uint32_t > O> 
        transcode_result< I, O > transcode_to_utf32(I, S, O);
      template<typename Ptr, std::output_iterator< uint32_t > O> 
        transcode_result< Ptr, O > transcode_to_utf32(Ptr, O);
      template<std::size_t N, typename Char, 
               std::output_iterator< uint32_t > O> 
        transcode_result< Char *, O > transcode_to_utf32(Char(&), O);
      template<std::ranges::input_range R, std::output_iterator< uint32_t > O> 
        transcode_result< std::ranges::borrowed_iterator_t< R >, O > 
        transcode_to_utf32(R &&, O);
      template<typename Iter, typename Sentinel, typename OutIter> 
        transcode_result< Iter, OutIter > 
        transcode_to_utf8(Iter first, Sentinel last, OutIter out);
      template<typename Range, typename OutIter> 
        transcode_result< utf_range_like_iterator_t< Range >, OutIter > 
        transcode_to_utf8(Range && r, OutIter out);
      template<typename Iter, typename Sentinel, typename OutIter> 
        transcode_result< Iter, OutIter > 
        transcode_to_utf16(Iter first, Sentinel last, OutIter out);
      template<typename Range, typename OutIter> 
        transcode_result< utf_range_like_iterator_t< Range >, OutIter > 
        transcode_to_utf16(Range && r, OutIter out);
      template<typename Iter, typename Sentinel, typename OutIter> 
        transcode_result< Iter, OutIter > 
        transcode_to_utf32(Iter first, Sentinel last, OutIter out);
      template<typename Range, typename OutIter> 
        transcode_result< utf_range_like_iterator_t< Range >, OutIter > 
        transcode_to_utf32(Range && r, OutIter out);
    }
  }
}

PrevUpHomeNext