---
name: "__gnu_cxx::encoding_state"
section: "3cxx"
platform: "linux"
package: "libstdc++-12-doc"
version: "12.4.0-5"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/__gnu_cxx::encoding_state/3cxx"
---

# \_\_gnu\_cxx::encoding\_state(3cxx)

Extension to use iconv for dealing with character encodings.

## NAME

\_\_gnu\_cxx::encoding\_state - Extension to use iconv for dealing with character encodings.

## SYNOPSIS

`#include <codecvt_specializations.h>`

### Public Types

typedef iconv\_t **descriptor\_type**\

### Public Member Functions

**encoding\_state** (const char \*\_\_int, const char \*\_\_ext, int \_\_ibom=0, int \_\_ebom=0, int \_\_bytes=1)\
 **encoding\_state** (const **encoding\_state** &\_\_obj)\
 int **character\_ratio** () const\
 int **external\_bom** () const\
 const **std::string** **external\_encoding** () const\
 bool **good** () const  throw ()\
 const descriptor\_type & **in\_descriptor** () const\
 int **internal\_bom** () const\
 const **std::string** **internal\_encoding** () const\
 **encoding\_state** & **operator=** (const **encoding\_state** &\_\_obj)\
 const descriptor\_type & **out\_descriptor** () const\

### Protected Member Functions

void **construct** (const **encoding\_state** &\_\_obj)\
 void **destroy** ()  throw ()\
 void **init** ()\

### Protected Attributes

int **\_M\_bytes**\
 int **\_M\_ext\_bom**\
 **std::string** **\_M\_ext\_enc**\
 descriptor\_type **\_M\_in\_desc**\
 int **\_M\_int\_bom**\
 **std::string** **\_M\_int\_enc**\
 descriptor\_type **\_M\_out\_desc**\

## Detailed Description

Extension to use iconv for dealing with character encodings.

## Author

Generated automatically by Doxygen for libstdc++ from the source code.
