Name

unicode::iconvert::fromu — template for converting text sequence from unicode

Synopsis

#include <courier-unicode.h>
auto unicode::iconvert::fromu::convert( beg_iter_t &&beg_iter,
  end_iter_t &&end_iter,
  const std::string &charset,
  output_iter_t &&output_iter,
  bool &errflag);
 
void unicode::iconvert::fromu::convert( input_iter_t beg_iter,
  input_iter_t end_iter,
  const std::string &charset,
  std::string &out_buf,
  bool &errflag);
 
std::pair<std::string, bool> unicode::iconvert::fromu::convert( const std::u32string_view &text,
  const std::string &charset);
 

DESCRIPTION

These template functions convert unicode characters to text in the given character set. beg_iter and end_iter define an input sequence of char32_ts. They get converted to unicode characters. output_iter is an output iterator that convert() iterates over chars in the specified character set. If output_iter is an lvalue, convert()'s parameter is a reference to the output iterator which gets updated in place and convert() returns void. If output_iter is an rvalue convert() returns the value of the output iterator after iterating over the converted character sequence. err_flag gets set to true if unicode text could not be converted to the requested character set, or false for a successful conversion.

An overloaded convert() puts the text string into a std::string, instead of using an output iterator. Finally, a single std::u32string specifies the character string, instead of a beginning and an ending iterator.