---
name: "unicode::iconvert::fromu"
section: "3"
platform: "linux"
package: "libcourier-unicode-dev"
version: "2.3.2-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/unicode::iconvert::fromu"
---

# unicode::iconvert::fromu(3)

template for converting text sequence from unicode

## NAME

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

## SYNOPSIS

```
#include <courier-unicode.h>
```

**output\_iter\_t unicode::iconvert::fromu::convert( input\_iter\_t** *beg\_iter***, input\_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 &***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. **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.

## SEE ALSO

[**courier-unicode**(7)](/courier-unicode/7.md), **unicode::convert::convert**(3), [**unicode\_convert**(3)](/unicode_convert/3.md), [**iconv**(3)](/iconv/3.md).

## AUTHOR

**Sam Varshavchik**

Author
