---
name: "__gnu_cxx::_Char_types"
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::_Char_types/3cxx"
---

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

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.
