---
name: "__gnu_cxx::_Char_types"
section: "3"
platform: "linux"
package: "gcc"
version: "16.2.1+r23+gd564253eb6c8-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/__gnu_cxx::_Char_types"
---

# \_\_gnu\_cxx::\_Char\_types(3)

Mapping from character type to associated types.

## NAME

\_\_gnu\_cxx::\_Char\_types\< \_CharT \> - Mapping from character type to associated types.

## SYNOPSIS

\#include \<char\_traits.h\>

### Public Types

typedef unsigned long **int\_type**\
 typedef **std::streamoff** **off\_type**\
 typedef **std::streampos** **pos\_type**\
 typedef std::mbstate\_t **state\_type**\

## Detailed Description

### template\<typename \_CharT\>

struct \_\_gnu\_cxx::\_Char\_types\< \_CharT \>"Mapping from character type to associated types.

**Note**

This is an implementation class for the generic version of char\_traits. It defines int\_type, off\_type, pos\_type, and state\_type. By default these are unsigned long, streamoff, streampos, and mbstate\_t. Users who need a different set of types, but who don't need to change the definitions of any function defined in char\_traits, can specialize \_\_gnu\_cxx::\_Char\_types while leaving \_\_gnu\_cxx::char\_traits alone.

## Author

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