---
name: "__gnu_pbds::detail::types_traits"
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_pbds::detail::types_traits"
---

# \_\_gnu\_pbds::detail::types\_traits(3)

Traits for abstract types.

## NAME

\_\_gnu\_pbds::detail::types\_traits\< Key, Mapped, \_Alloc, Store\_Hash \> - Traits for abstract types.

## SYNOPSIS

\#include \<types\_traits.hpp\>

Inherits **\_\_gnu\_pbds::detail::maybe\_null\_type\< Key, Mapped, \_Alloc, Store\_Hash \>**.

Inherited by **\_\_gnu\_pbds::detail::cc\_ht\_map\< Key, Mapped, at0t, at1t, \_Alloc, at3t::value, at4t, at2t \>**, **\_\_gnu\_pbds::detail::gp\_ht\_map\< Key, Mapped, at0t, at1t, \_Alloc, at3t::value, at4t, at5t, at2t \>**, **\_\_gnu\_pbds::detail::cc\_ht\_map\< Key, Mapped, Hash\_Fn, Eq\_Fn, \_Alloc, Store\_Hash, Comb\_Hash\_Fn, Resize\_Policy \>**, and **\_\_gnu\_pbds::detail::gp\_ht\_map\< Key, Mapped, Hash\_Fn, Eq\_Fn, \_Alloc, Store\_Hash, Comb\_Probe\_Fn, Probe\_Fn, Resize\_Policy \>**.

### Public Types

typedef **std::pair**\< size\_type, size\_type \> **comp\_hash**\
 typedef \_\_rebind\_va::const\_pointer **const\_pointer**\
 typedef \_\_rebind\_va::const\_reference **const\_reference**\
 typedef \_\_rebind\_ka::const\_pointer **key\_const\_pointer**\
 typedef \_\_rebind\_ka::const\_reference **key\_const\_reference**\
 typedef \_\_rebind\_ka::pointer **key\_pointer**\
 typedef \_\_rebind\_ka::reference **key\_reference**\
 typedef Key **key\_type**\
 typedef \_\_rebind\_ma::const\_pointer **mapped\_const\_pointer**\
 typedef \_\_rebind\_ma::const\_reference **mapped\_const\_reference**\
 typedef \_\_rebind\_ma::pointer **mapped\_pointer**\
 typedef \_\_rebind\_ma::reference **mapped\_reference**\
 typedef Mapped **mapped\_type**\
 typedef \_\_nothrowcopy::indicator **no\_throw\_indicator**\
 typedef \_\_rebind\_va::pointer **pointer**\
 typedef \_\_rebind\_va::reference **reference**\
 typedef \_Alloc::size\_type **size\_type**\
 typedef integral\_constant\< int, Store\_Hash \> **store\_extra**\
 typedef **stored\_data**\< value\_type, size\_type, Store\_Hash \> **stored\_data\_type**\
 typedef **select\_value\_type**\< Key, Mapped \>**::type** **value\_type**\

### Public Attributes

no\_throw\_indicator **m\_no\_throw\_copies\_indicator**\
 store\_extra **m\_store\_extra\_indicator**\

## Detailed Description

### template\<typename Key, typename Mapped, typename \_Alloc, bool Store\_Hash\>

struct \_\_gnu\_pbds::detail::types\_traits\< Key, Mapped, \_Alloc, Store\_Hash \>"Traits for abstract types.

## Author

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