---
name: "std::__detail::_Hashtable_base"
section: "3cxx"
platform: "linux"
package: "libstdc++-10-doc"
version: "10.2.1-6"
release: "Debian 11 (Bullseye)"
platforms: ["linux"]
url: "https://new.carta.tech/std::__detail::_Hashtable_base"
---

# std::\_\_detail::\_Hashtable\_base(3cxx)

## NAME

std::\_\_detail::\_Hashtable\_base\< \_Key, \_Value, \_ExtractKey, \_Equal, \_H1, \_H2, \_Hash, \_Traits \>

## SYNOPSIS

Inherits **std::\_\_detail::\_Hash\_code\_base\< \_Key, \_Value, \_ExtractKey, \_H1, \_H2, \_Hash, \_Traits::\_\_hash\_cached::value \>**, and **std::\_\_detail::\_Hashtable\_ebo\_helper\< 0, \_Equal \>**.

Inherited by **std::\_Hashtable\< \_Key, \_Value, \_Alloc, \_ExtractKey, \_Equal, \_H1, \_H2, \_Hash, \_RehashPolicy, \_Traits \>**.

### Public Types

using **\_\_constant\_iterators** = typename \_\_traits\_type::\_\_constant\_iterators\
 using **\_\_hash\_cached** = typename \_\_traits\_type::\_\_hash\_cached\
 using **\_\_hash\_code** = typename \_\_hash\_code\_base::\_\_hash\_code\
 using **\_\_hash\_code\_base** = **\_Hash\_code\_base**\< \_Key, \_Value, \_ExtractKey, \_H1, \_H2, \_Hash, \_\_hash\_cached::value \>\
 using **\_\_ireturn\_type** = typename **std::conditional**\< \_\_unique\_keys::value, **std::pair**\< **iterator**, bool \>, **iterator** \>::type\
 using **\_\_node\_type** = typename \_\_hash\_code\_base::\_\_node\_type\
 using **\_\_traits\_type** = \_Traits\
 using **\_\_unique\_keys** = typename \_\_traits\_type::\_\_unique\_keys\
 using **const\_iterator** = **\_\_detail::\_Node\_const\_iterator**\< value\_type, \_\_constant\_iterators::value, \_\_hash\_cached::value \>\
 using **const\_local\_iterator** = **\_\_detail::\_Local\_const\_iterator**\< key\_type, value\_type, \_ExtractKey, \_H1, \_H2, \_Hash, \_\_constant\_iterators::value, \_\_hash\_cached::value \>\
 typedef std::ptrdiff\_t **difference\_type**\
 using **iterator** = **\_\_detail::\_Node\_iterator**\< value\_type, \_\_constant\_iterators::value, \_\_hash\_cached::value \>\
 typedef \_Equal **key\_equal**\
 typedef \_Key **key\_type**\
 using **local\_iterator** = **\_\_detail::\_Local\_iterator**\< key\_type, value\_type, \_ExtractKey, \_H1, \_H2, \_Hash, \_\_constant\_iterators::value, \_\_hash\_cached::value \>\
 typedef std::size\_t **size\_type**\
 typedef \_Value **value\_type**\

### Protected Member Functions

**\_Hashtable\_base** (const \_ExtractKey &\_\_ex, const \_H1 &\_\_h1, const \_H2 &\_\_h2, const \_Hash &\_\_hash, const \_Equal &\_\_eq)\
 const \_Equal & **\_M\_eq** () const\
 bool **\_M\_equals** (const \_Key &\_\_k, \_\_hash\_code \_\_c, \_\_node\_type \*\_\_n) const\
 void **\_M\_swap** (**\_Hashtable\_base** &\_\_x)\

## Detailed Description

### template\<typename \_Key, typename \_Value, typename \_ExtractKey, typename \_Equal, typename \_H1, typename \_H2, typename \_Hash, typename \_Traits\>

struct std::\_\_detail::\_Hashtable\_base\< \_Key, \_Value, \_ExtractKey, \_Equal, \_H1, \_H2, \_Hash, \_Traits \>" Primary class template \_Hashtable\_base.

Helper class adding management of \_Equal functor to \_Hash\_code\_base type.

Base class templates are:

- •

  \_\_detail::\_Hash\_code\_base

- •

  \_\_detail::\_Hashtable\_ebo\_helper

Definition at line 1725 of file hashtable\_policy.h.

## Author

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