---
name: "std::__debug"
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/std::__debug"
---

# std::\_\_debug(3)

GNU debug code, replaces standard behavior with debug behavior.

## NAME

std::\_\_debug - GNU debug code, replaces standard behavior with debug behavior.

## SYNOPSIS

### Classes

class **bitset**\
 Class std::bitset with additional safety/checking/debug instrumentation.  class **deque**\
 Class std::deque with safety/checking/debug instrumentation.  class **forward\_list**\
 Class std::forward\_list with safety/checking/debug instrumentation.  class **list**\
 Class std::list with safety/checking/debug instrumentation.  class **map**\
 Class std::map with safety/checking/debug instrumentation.  class **multimap**\
 Class std::multimap with safety/checking/debug instrumentation.  class **multiset**\
 Class std::multiset with safety/checking/debug instrumentation.  class **set**\
 Class std::set with safety/checking/debug instrumentation.  class **unordered\_map**\
 Class std::unordered\_map with safety/checking/debug instrumentation.  class **unordered\_multimap**\
 Class std::unordered\_multimap with safety/checking/debug instrumentation.  class **unordered\_multiset**\
 Class std::unordered\_multiset with safety/checking/debug instrumentation.  class **unordered\_set**\
 Class std::unordered\_set with safety/checking/debug instrumentation.  class **vector**\
 Class std::vector with safety/checking/debug instrumentation.

### Functions

template\<typename \_InputIterator, typename \_ValT = typename iterator\_traits\<\_InputIterator\>::value\_type, typename \_Allocator = allocator\<\_ValT\>, typename = \_RequireInputIter\<\_InputIterator\>, typename = \_RequireAllocator\<\_Allocator\>\> **deque** (\_InputIterator, \_InputIterator, \_Allocator=\_Allocator()) -\> deque\< \_ValT, \_Allocator \>\
 template\<typename \_Tp, typename \_Allocator = allocator\<\_Tp\>, typename = \_RequireAllocator\<\_Allocator\>\> **deque** (size\_t, \_Tp, \_Allocator=\_Allocator()) -\> deque\< \_Tp, \_Allocator \>\
 template\<typename \_InputIterator, typename \_ValT = typename iterator\_traits\<\_InputIterator\>::value\_type, typename \_Allocator = allocator\<\_ValT\>, typename = \_RequireInputIter\<\_InputIterator\>, typename = \_RequireAllocator\<\_Allocator\>\> **forward\_list** (\_InputIterator, \_InputIterator, \_Allocator=\_Allocator()) -\> forward\_list\< \_ValT, \_Allocator \>\
 template\<typename \_Tp, typename \_Allocator = allocator\<\_Tp\>, typename = \_RequireAllocator\<\_Allocator\>\> **forward\_list** (size\_t, \_Tp, \_Allocator=\_Allocator()) -\> forward\_list\< \_Tp, \_Allocator \>\
 template\<typename \_InputIterator, typename \_ValT = typename iterator\_traits\<\_InputIterator\>::value\_type, typename \_Allocator = allocator\<\_ValT\>, typename = \_RequireInputIter\<\_InputIterator\>, typename = \_RequireAllocator\<\_Allocator\>\> **list** (\_InputIterator, \_InputIterator, \_Allocator=\_Allocator()) -\> list\< \_ValT, \_Allocator \>\
 template\<typename \_Tp, typename \_Allocator = allocator\<\_Tp\>, typename = \_RequireAllocator\<\_Allocator\>\> **list** (size\_t, \_Tp, \_Allocator=\_Allocator()) -\> list\< \_Tp, \_Allocator \>\
 template\<typename \_InputIterator, typename \_Allocator, typename = \_RequireInputIter\<\_InputIterator\>, typename = \_RequireAllocator\<\_Allocator\>\> **map** (\_InputIterator, \_InputIterator, \_Allocator) -\> map\< \_\_iter\_key\_t\< \_InputIterator \>, \_\_iter\_val\_t\< \_InputIterator \>, **less**\< \_\_iter\_key\_t\< \_InputIterator \> \>, \_Allocator \>\
 template\<typename \_InputIterator, typename \_Compare = less\<\_\_iter\_key\_t\<\_InputIterator\>\>, typename \_Allocator = allocator\<\_\_iter\_to\_alloc\_t\<\_InputIterator\>\>, typename = \_RequireInputIter\<\_InputIterator\>, typename = \_RequireNotAllocator\<\_Compare\>, typename = \_RequireAllocator\<\_Allocator\>\> **map** (\_InputIterator, \_InputIterator, \_Compare=\_Compare(), \_Allocator=\_Allocator()) -\> map\< \_\_iter\_key\_t\< \_InputIterator \>, \_\_iter\_val\_t\< \_InputIterator \>, \_Compare, \_Allocator \>\
 template\<typename \_Key, typename \_Tp, typename \_Allocator, typename = \_RequireAllocator\<\_Allocator\>\> **map** (**initializer\_list**\< **pair**\< \_Key, \_Tp \> \>, \_Allocator) -\> map\< \_Key, \_Tp, **less**\< \_Key \>, \_Allocator \>\
 template\<typename \_Key, typename \_Tp, typename \_Compare = less\<\_Key\>, typename \_Allocator = allocator\<pair\<const \_Key, \_Tp\>\>, typename = \_RequireNotAllocator\<\_Compare\>, typename = \_RequireAllocator\<\_Allocator\>\> **map** (**initializer\_list**\< **pair**\< \_Key, \_Tp \> \>, \_Compare=\_Compare(), \_Allocator=\_Allocator()) -\> map\< \_Key, \_Tp, \_Compare, \_Allocator \>\
 template\<typename \_InputIterator, typename \_Allocator, typename = \_RequireInputIter\<\_InputIterator\>, typename = \_RequireAllocator\<\_Allocator\>\> **multimap** (\_InputIterator, \_InputIterator, \_Allocator) -\> multimap\< \_\_iter\_key\_t\< \_InputIterator \>, \_\_iter\_val\_t\< \_InputIterator \>, **less**\< \_\_iter\_key\_t\< \_InputIterator \> \>, \_Allocator \>\
 template\<typename \_InputIterator, typename \_Compare = less\<\_\_iter\_key\_t\<\_InputIterator\>\>, typename \_Allocator = allocator\<\_\_iter\_to\_alloc\_t\<\_InputIterator\>\>, typename = \_RequireInputIter\<\_InputIterator\>, typename = \_RequireNotAllocator\<\_Compare\>, typename = \_RequireAllocator\<\_Allocator\>\> **multimap** (\_InputIterator, \_InputIterator, \_Compare=\_Compare(), \_Allocator=\_Allocator()) -\> multimap\< \_\_iter\_key\_t\< \_InputIterator \>, \_\_iter\_val\_t\< \_InputIterator \>, \_Compare, \_Allocator \>\
 template\<typename \_Key, typename \_Tp, typename \_Allocator, typename = \_RequireAllocator\<\_Allocator\>\> **multimap** (**initializer\_list**\< **pair**\< \_Key, \_Tp \> \>, \_Allocator) -\> multimap\< \_Key, \_Tp, **less**\< \_Key \>, \_Allocator \>\
 template\<typename \_Key, typename \_Tp, typename \_Compare = less\<\_Key\>, typename \_Allocator = allocator\<pair\<const \_Key, \_Tp\>\>, typename = \_RequireNotAllocator\<\_Compare\>, typename = \_RequireAllocator\<\_Allocator\>\> **multimap** (**initializer\_list**\< **pair**\< \_Key, \_Tp \> \>, \_Compare=\_Compare(), \_Allocator=\_Allocator()) -\> multimap\< \_Key, \_Tp, \_Compare, \_Allocator \>\
 template\<typename \_InputIterator, typename \_Allocator, typename = \_RequireInputIter\<\_InputIterator\>, typename = \_RequireAllocator\<\_Allocator\>\> **multiset** (\_InputIterator, \_InputIterator, \_Allocator) -\> multiset\< typename **iterator\_traits**\< \_InputIterator \>**::value\_type**, **less**\< typename **iterator\_traits**\< \_InputIterator \>**::value\_type** \>, \_Allocator \>\
 template\<typename \_InputIterator, typename \_Compare = less\<typename iterator\_traits\<\_InputIterator\>::value\_type\>, typename \_Allocator = allocator\<typename iterator\_traits\<\_InputIterator\>::value\_type\>, typename = \_RequireInputIter\<\_InputIterator\>, typename = \_RequireNotAllocator\<\_Compare\>, typename = \_RequireAllocator\<\_Allocator\>\> **multiset** (\_InputIterator, \_InputIterator, \_Compare=\_Compare(), \_Allocator=\_Allocator()) -\> multiset\< typename **iterator\_traits**\< \_InputIterator \>**::value\_type**, \_Compare, \_Allocator \>\
 template\<typename \_Key, typename \_Allocator, typename = \_RequireAllocator\<\_Allocator\>\> **multiset** (**initializer\_list**\< \_Key \>, \_Allocator) -\> multiset\< \_Key, **less**\< \_Key \>, \_Allocator \>\
 template\<typename \_Key, typename \_Compare = less\<\_Key\>, typename \_Allocator = allocator\<\_Key\>, typename = \_RequireNotAllocator\<\_Compare\>, typename = \_RequireAllocator\<\_Allocator\>\> **multiset** (**initializer\_list**\< \_Key \>, \_Compare=\_Compare(), \_Allocator=\_Allocator()) -\> multiset\< \_Key, \_Compare, \_Allocator \>\
 template\<size\_t \_Nb\> constexpr bitset\< \_Nb \> **operator&** (const bitset\< \_Nb \> &\_\_x, const bitset\< \_Nb \> &\_\_y) noexcept\
 template\<typename \_CharT, typename \_Traits, size\_t \_Nb\> **std::basic\_ostream**\< \_CharT, \_Traits \> & **operator\<\<** (**std::basic\_ostream**\< \_CharT, \_Traits \> &\_\_os, const bitset\< \_Nb \> &\_\_x)\
 template\<typename \_Tp, typename \_Alloc\> constexpr \_\_detail::\_\_synth3way\_t\< \_Tp \> **operator\<=\>** (const deque\< \_Tp, \_Alloc \> &\_\_x, const deque\< \_Tp, \_Alloc \> &\_\_y)\
 template\<typename \_Tp, typename \_Alloc\> constexpr \_\_detail::\_\_synth3way\_t\< \_Tp \> **operator\<=\>** (const forward\_list\< \_Tp, \_Alloc \> &\_\_x, const forward\_list\< \_Tp, \_Alloc \> &\_\_y)\
 template\<typename \_Tp, typename \_Alloc\> constexpr \_\_detail::\_\_synth3way\_t\< \_Tp \> **operator\<=\>** (const list\< \_Tp, \_Alloc \> &\_\_x, const list\< \_Tp, \_Alloc \> &\_\_y)\
 template\<typename \_Key, typename \_Tp, typename \_Compare, typename \_Alloc\> \_\_detail::\_\_synth3way\_t\< **pair**\< const \_Key, \_Tp \> \> **operator\<=\>** (const map\< \_Key, \_Tp, \_Compare, \_Alloc \> &\_\_lhs, const map\< \_Key, \_Tp, \_Compare, \_Alloc \> &\_\_rhs)\
 template\<typename \_Key, typename \_Tp, typename \_Compare, typename \_Alloc\> \_\_detail::\_\_synth3way\_t\< **pair**\< const \_Key, \_Tp \> \> **operator\<=\>** (const multimap\< \_Key, \_Tp, \_Compare, \_Alloc \> &\_\_lhs, const multimap\< \_Key, \_Tp, \_Compare, \_Alloc \> &\_\_rhs)\
 template\<typename \_Key, typename \_Compare, typename \_Alloc\> \_\_detail::\_\_synth3way\_t\< \_Key \> **operator\<=\>** (const multiset\< \_Key, \_Compare, \_Alloc \> &\_\_lhs, const multiset\< \_Key, \_Compare, \_Alloc \> &\_\_rhs)\
 template\<typename \_Key, typename \_Compare, typename \_Alloc\> \_\_detail::\_\_synth3way\_t\< \_Key \> **operator\<=\>** (const set\< \_Key, \_Compare, \_Alloc \> &\_\_lhs, const set\< \_Key, \_Compare, \_Alloc \> &\_\_rhs)\
 template\<typename \_Tp, typename \_Alloc\> constexpr \_\_detail::\_\_synth3way\_t\< \_Tp \> **operator\<=\>** (const vector\< \_Tp, \_Alloc \> &\_\_x, const vector\< \_Tp, \_Alloc \> &\_\_y)\
 template\<typename \_Tp, typename \_Alloc\> bool **operator==** (const deque\< \_Tp, \_Alloc \> &\_\_lhs, const deque\< \_Tp, \_Alloc \> &\_\_rhs)\
 template\<typename \_Tp, typename \_Alloc\> bool **operator==** (const forward\_list\< \_Tp, \_Alloc \> &\_\_lx, const forward\_list\< \_Tp, \_Alloc \> &\_\_ly)\
 template\<typename \_Tp, typename \_Alloc\> bool **operator==** (const list\< \_Tp, \_Alloc \> &\_\_lhs, const list\< \_Tp, \_Alloc \> &\_\_rhs)\
 template\<typename \_Key, typename \_Tp, typename \_Compare, typename \_Allocator\> bool **operator==** (const map\< \_Key, \_Tp, \_Compare, \_Allocator \> &\_\_lhs, const map\< \_Key, \_Tp, \_Compare, \_Allocator \> &\_\_rhs)\
 template\<typename \_Key, typename \_Tp, typename \_Compare, typename \_Allocator\> bool **operator==** (const multimap\< \_Key, \_Tp, \_Compare, \_Allocator \> &\_\_lhs, const multimap\< \_Key, \_Tp, \_Compare, \_Allocator \> &\_\_rhs)\
 template\<typename \_Key, typename \_Compare, typename \_Allocator\> bool **operator==** (const multiset\< \_Key, \_Compare, \_Allocator \> &\_\_lhs, const multiset\< \_Key, \_Compare, \_Allocator \> &\_\_rhs)\
 template\<typename \_Key, typename \_Compare, typename \_Allocator\> bool **operator==** (const set\< \_Key, \_Compare, \_Allocator \> &\_\_lhs, const set\< \_Key, \_Compare, \_Allocator \> &\_\_rhs)\
 template\<typename \_Key, typename \_Tp, typename \_Hash, typename \_Pred, typename \_Alloc\> bool **operator==** (const unordered\_map\< \_Key, \_Tp, \_Hash, \_Pred, \_Alloc \> &\_\_x, const unordered\_map\< \_Key, \_Tp, \_Hash, \_Pred, \_Alloc \> &\_\_y)\
 template\<typename \_Key, typename \_Tp, typename \_Hash, typename \_Pred, typename \_Alloc\> bool **operator==** (const unordered\_multimap\< \_Key, \_Tp, \_Hash, \_Pred, \_Alloc \> &\_\_x, const unordered\_multimap\< \_Key, \_Tp, \_Hash, \_Pred, \_Alloc \> &\_\_y)\
 template\<typename \_Value, typename \_Hash, typename \_Pred, typename \_Alloc\> bool **operator==** (const unordered\_multiset\< \_Value, \_Hash, \_Pred, \_Alloc \> &\_\_x, const unordered\_multiset\< \_Value, \_Hash, \_Pred, \_Alloc \> &\_\_y)\
 template\<typename \_Value, typename \_Hash, typename \_Pred, typename \_Alloc\> bool **operator==** (const unordered\_set\< \_Value, \_Hash, \_Pred, \_Alloc \> &\_\_x, const unordered\_set\< \_Value, \_Hash, \_Pred, \_Alloc \> &\_\_y)\
 template\<typename \_Tp, typename \_Alloc\> constexpr bool **operator==** (const vector\< \_Tp, \_Alloc \> &\_\_lhs, const vector\< \_Tp, \_Alloc \> &\_\_rhs)\
 template\<typename \_CharT, typename \_Traits, size\_t \_Nb\> **std::basic\_istream**\< \_CharT, \_Traits \> & **operator\>\>** (**std::basic\_istream**\< \_CharT, \_Traits \> &\_\_is, bitset\< \_Nb \> &\_\_x)\
 template\<size\_t \_Nb\> constexpr bitset\< \_Nb \> **operator^** (const bitset\< \_Nb \> &\_\_x, const bitset\< \_Nb \> &\_\_y) noexcept\
 template\<size\_t \_Nb\> constexpr bitset\< \_Nb \> **operator\|** (const bitset\< \_Nb \> &\_\_x, const bitset\< \_Nb \> &\_\_y) noexcept\
 template\<typename \_InputIterator, typename \_Allocator, typename = \_RequireInputIter\<\_InputIterator\>, typename = \_RequireAllocator\<\_Allocator\>\> **set** (\_InputIterator, \_InputIterator, \_Allocator) -\> set\< typename **iterator\_traits**\< \_InputIterator \>**::value\_type**, **less**\< typename **iterator\_traits**\< \_InputIterator \>**::value\_type** \>, \_Allocator \>\
 template\<typename \_InputIterator, typename \_Compare = less\<typename iterator\_traits\<\_InputIterator\>::value\_type\>, typename \_Allocator = allocator\<typename iterator\_traits\<\_InputIterator\>::value\_type\>, typename = \_RequireInputIter\<\_InputIterator\>, typename = \_RequireNotAllocator\<\_Compare\>, typename = \_RequireAllocator\<\_Allocator\>\> **set** (\_InputIterator, \_InputIterator, \_Compare=\_Compare(), \_Allocator=\_Allocator()) -\> set\< typename **iterator\_traits**\< \_InputIterator \>**::value\_type**, \_Compare, \_Allocator \>\
 template\<typename \_Key, typename \_Allocator, typename = \_RequireAllocator\<\_Allocator\>\> **set** (**initializer\_list**\< \_Key \>, \_Allocator) -\> set\< \_Key, **less**\< \_Key \>, \_Allocator \>\
 template\<typename \_Key, typename \_Compare = less\<\_Key\>, typename \_Allocator = allocator\<\_Key\>, typename = \_RequireNotAllocator\<\_Compare\>, typename = \_RequireAllocator\<\_Allocator\>\> **set** (**initializer\_list**\< \_Key \>, \_Compare=\_Compare(), \_Allocator=\_Allocator()) -\> set\< \_Key, \_Compare, \_Allocator \>\
 template\<typename \_Tp, typename \_Alloc\> void **swap** (deque\< \_Tp, \_Alloc \> &\_\_lhs, deque\< \_Tp, \_Alloc \> &\_\_rhs) noexcept(/\***conditional** \*/)\
 template\<typename \_Tp, typename \_Alloc\> void **swap** (forward\_list\< \_Tp, \_Alloc \> &\_\_lx, forward\_list\< \_Tp, \_Alloc \> &\_\_ly) noexcept(noexcept(\_\_lx.swap(\_\_ly)))\
 See std::forward\_list::swap().  template\<typename \_Tp, typename \_Alloc\> void **swap** (list\< \_Tp, \_Alloc \> &\_\_lhs, list\< \_Tp, \_Alloc \> &\_\_rhs) noexcept(/\***conditional** \*/)\
 template\<typename \_Key, typename \_Tp, typename \_Compare, typename \_Allocator\> void **swap** (map\< \_Key, \_Tp, \_Compare, \_Allocator \> &\_\_lhs, map\< \_Key, \_Tp, \_Compare, \_Allocator \> &\_\_rhs) noexcept(/\***conditional** \*/)\
 template\<typename \_Key, typename \_Tp, typename \_Compare, typename \_Allocator\> void **swap** (multimap\< \_Key, \_Tp, \_Compare, \_Allocator \> &\_\_lhs, multimap\< \_Key, \_Tp, \_Compare, \_Allocator \> &\_\_rhs) noexcept(/\***conditional** \*/)\
 template\<typename \_Key, typename \_Compare, typename \_Allocator\> void **swap** (multiset\< \_Key, \_Compare, \_Allocator \> &\_\_x, multiset\< \_Key, \_Compare, \_Allocator \> &\_\_y) noexcept(/\***conditional** \*/)\
 template\<typename \_Key, typename \_Compare, typename \_Allocator\> void **swap** (set\< \_Key, \_Compare, \_Allocator \> &\_\_x, set\< \_Key, \_Compare, \_Allocator \> &\_\_y) noexcept(/\***conditional** \*/)\
 template\<typename \_Key, typename \_Tp, typename \_Hash, typename \_Pred, typename \_Alloc\> void **swap** (unordered\_map\< \_Key, \_Tp, \_Hash, \_Pred, \_Alloc \> &\_\_x, unordered\_map\< \_Key, \_Tp, \_Hash, \_Pred, \_Alloc \> &\_\_y) noexcept(noexcept(\_\_x.swap(\_\_y)))\
 template\<typename \_Key, typename \_Tp, typename \_Hash, typename \_Pred, typename \_Alloc\> void **swap** (unordered\_multimap\< \_Key, \_Tp, \_Hash, \_Pred, \_Alloc \> &\_\_x, unordered\_multimap\< \_Key, \_Tp, \_Hash, \_Pred, \_Alloc \> &\_\_y) noexcept(noexcept(\_\_x.swap(\_\_y)))\
 template\<typename \_Value, typename \_Hash, typename \_Pred, typename \_Alloc\> void **swap** (unordered\_multiset\< \_Value, \_Hash, \_Pred, \_Alloc \> &\_\_x, unordered\_multiset\< \_Value, \_Hash, \_Pred, \_Alloc \> &\_\_y) noexcept(noexcept(\_\_x.swap(\_\_y)))\
 template\<typename \_Value, typename \_Hash, typename \_Pred, typename \_Alloc\> void **swap** (unordered\_set\< \_Value, \_Hash, \_Pred, \_Alloc \> &\_\_x, unordered\_set\< \_Value, \_Hash, \_Pred, \_Alloc \> &\_\_y) noexcept(noexcept(\_\_x.swap(\_\_y)))\
 template\<typename \_Tp, typename \_Alloc\> constexpr void **swap** (vector\< \_Tp, \_Alloc \> &\_\_lhs, vector\< \_Tp, \_Alloc \> &\_\_rhs) noexcept(/\***conditional** \*/)\
 template\<typename \_InputIterator, typename \_Allocator, typename = \_RequireInputIter\<\_InputIterator\>, typename = \_RequireAllocator\<\_Allocator\>\> **unordered\_map** (\_InputIterator, \_InputIterator, \_Allocator) -\> unordered\_map\< \_\_iter\_key\_t\< \_InputIterator \>, \_\_iter\_val\_t\< \_InputIterator \>, **hash**\< \_\_iter\_key\_t\< \_InputIterator \> \>, **equal\_to**\< \_\_iter\_key\_t\< \_InputIterator \> \>, \_Allocator \>\
 template\<typename \_InputIterator, typename \_Allocator, typename = \_RequireInputIter\<\_InputIterator\>, typename = \_RequireAllocator\<\_Allocator\>\> **unordered\_map** (\_InputIterator, \_InputIterator, typename unordered\_map\< int, int \>**::size\_type**, \_Allocator) -\> unordered\_map\< \_\_iter\_key\_t\< \_InputIterator \>, \_\_iter\_val\_t\< \_InputIterator \>, **hash**\< \_\_iter\_key\_t\< \_InputIterator \> \>, **equal\_to**\< \_\_iter\_key\_t\< \_InputIterator \> \>, \_Allocator \>\
 template\<typename \_InputIterator, typename \_Hash, typename \_Allocator, typename = \_RequireInputIter\<\_InputIterator\>, typename = \_RequireNotAllocatorOrIntegral\<\_Hash\>, typename = \_RequireAllocator\<\_Allocator\>\> **unordered\_map** (\_InputIterator, \_InputIterator, typename unordered\_map\< int, int \>**::size\_type**, \_Hash, \_Allocator) -\> unordered\_map\< \_\_iter\_key\_t\< \_InputIterator \>, \_\_iter\_val\_t\< \_InputIterator \>, \_Hash, **equal\_to**\< \_\_iter\_key\_t\< \_InputIterator \> \>, \_Allocator \>\
 template\<typename \_InputIterator, typename \_Hash = hash\<\_\_iter\_key\_t\<\_InputIterator\>\>, typename \_Pred = equal\_to\<\_\_iter\_key\_t\<\_InputIterator\>\>, typename \_Allocator = allocator\<\_\_iter\_to\_alloc\_t\<\_InputIterator\>\>, typename = \_RequireInputIter\<\_InputIterator\>, typename = \_RequireNotAllocatorOrIntegral\<\_Hash\>, typename = \_RequireNotAllocator\<\_Pred\>, typename = \_RequireAllocator\<\_Allocator\>\> **unordered\_map** (\_InputIterator, \_InputIterator, typename unordered\_map\< int, int \>**::size\_type**={}, \_Hash=\_Hash(), \_Pred=\_Pred(), \_Allocator=\_Allocator()) -\> unordered\_map\< \_\_iter\_key\_t\< \_InputIterator \>, \_\_iter\_val\_t\< \_InputIterator \>, \_Hash, \_Pred, \_Allocator \>\
 template\<typename \_Key, typename \_Tp, typename \_Allocator, typename = \_RequireAllocator\<\_Allocator\>\> **unordered\_map** (**initializer\_list**\< **pair**\< \_Key, \_Tp \> \>, \_Allocator) -\> unordered\_map\< \_Key, \_Tp, **hash**\< \_Key \>, **equal\_to**\< \_Key \>, \_Allocator \>\
 template\<typename \_Key, typename \_Tp, typename \_Allocator, typename = \_RequireAllocator\<\_Allocator\>\> **unordered\_map** (**initializer\_list**\< **pair**\< \_Key, \_Tp \> \>, typename unordered\_map\< int, int \>**::size\_type**, \_Allocator) -\> unordered\_map\< \_Key, \_Tp, **hash**\< \_Key \>, **equal\_to**\< \_Key \>, \_Allocator \>\
 template\<typename \_Key, typename \_Tp, typename \_Hash, typename \_Allocator, typename = \_RequireNotAllocatorOrIntegral\<\_Hash\>, typename = \_RequireAllocator\<\_Allocator\>\> **unordered\_map** (**initializer\_list**\< **pair**\< \_Key, \_Tp \> \>, typename unordered\_map\< int, int \>**::size\_type**, \_Hash, \_Allocator) -\> unordered\_map\< \_Key, \_Tp, \_Hash, **equal\_to**\< \_Key \>, \_Allocator \>\
 template\<typename \_Key, typename \_Tp, typename \_Hash = hash\<\_Key\>, typename \_Pred = equal\_to\<\_Key\>, typename \_Allocator = allocator\<pair\<const \_Key, \_Tp\>\>, typename = \_RequireNotAllocatorOrIntegral\<\_Hash\>, typename = \_RequireNotAllocator\<\_Pred\>, typename = \_RequireAllocator\<\_Allocator\>\> **unordered\_map** (**initializer\_list**\< **pair**\< \_Key, \_Tp \> \>, typename unordered\_map\< int, int \>**::size\_type**={}, \_Hash=\_Hash(), \_Pred=\_Pred(), \_Allocator=\_Allocator()) -\> unordered\_map\< \_Key, \_Tp, \_Hash, \_Pred, \_Allocator \>\
 template\<typename \_InputIterator, typename \_Allocator, typename = \_RequireInputIter\<\_InputIterator\>, typename = \_RequireAllocator\<\_Allocator\>\> **unordered\_multimap** (\_InputIterator, \_InputIterator, \_Allocator) -\> unordered\_multimap\< \_\_iter\_key\_t\< \_InputIterator \>, \_\_iter\_val\_t\< \_InputIterator \>, **hash**\< \_\_iter\_key\_t\< \_InputIterator \> \>, **equal\_to**\< \_\_iter\_key\_t\< \_InputIterator \> \>, \_Allocator \>\
 template\<typename \_InputIterator, typename \_Allocator, typename = \_RequireInputIter\<\_InputIterator\>, typename = \_RequireAllocator\<\_Allocator\>\> **unordered\_multimap** (\_InputIterator, \_InputIterator, unordered\_multimap\< int, int \>**::size\_type**, \_Allocator) -\> unordered\_multimap\< \_\_iter\_key\_t\< \_InputIterator \>, \_\_iter\_val\_t\< \_InputIterator \>, **hash**\< \_\_iter\_key\_t\< \_InputIterator \> \>, **equal\_to**\< \_\_iter\_key\_t\< \_InputIterator \> \>, \_Allocator \>\
 template\<typename \_InputIterator, typename \_Hash, typename \_Allocator, typename = \_RequireInputIter\<\_InputIterator\>, typename = \_RequireNotAllocatorOrIntegral\<\_Hash\>, typename = \_RequireAllocator\<\_Allocator\>\> **unordered\_multimap** (\_InputIterator, \_InputIterator, unordered\_multimap\< int, int \>**::size\_type**, \_Hash, \_Allocator) -\> unordered\_multimap\< \_\_iter\_key\_t\< \_InputIterator \>, \_\_iter\_val\_t\< \_InputIterator \>, \_Hash, **equal\_to**\< \_\_iter\_key\_t\< \_InputIterator \> \>, \_Allocator \>\
 template\<typename \_InputIterator, typename \_Hash = hash\<\_\_iter\_key\_t\<\_InputIterator\>\>, typename \_Pred = equal\_to\<\_\_iter\_key\_t\<\_InputIterator\>\>, typename \_Allocator = allocator\<\_\_iter\_to\_alloc\_t\<\_InputIterator\>\>, typename = \_RequireInputIter\<\_InputIterator\>, typename = \_RequireNotAllocatorOrIntegral\<\_Hash\>, typename = \_RequireNotAllocator\<\_Pred\>, typename = \_RequireAllocator\<\_Allocator\>\> **unordered\_multimap** (\_InputIterator, \_InputIterator, unordered\_multimap\< int, int \>**::size\_type**={}, \_Hash=\_Hash(), \_Pred=\_Pred(), \_Allocator=\_Allocator()) -\> unordered\_multimap\< \_\_iter\_key\_t\< \_InputIterator \>, \_\_iter\_val\_t\< \_InputIterator \>, \_Hash, \_Pred, \_Allocator \>\
 template\<typename \_Key, typename \_Tp, typename \_Allocator, typename = \_RequireAllocator\<\_Allocator\>\> **unordered\_multimap** (**initializer\_list**\< **pair**\< \_Key, \_Tp \> \>, \_Allocator) -\> unordered\_multimap\< \_Key, \_Tp, **hash**\< \_Key \>, **equal\_to**\< \_Key \>, \_Allocator \>\
 template\<typename \_Key, typename \_Tp, typename \_Allocator, typename = \_RequireAllocator\<\_Allocator\>\> **unordered\_multimap** (**initializer\_list**\< **pair**\< \_Key, \_Tp \> \>, unordered\_multimap\< int, int \>**::size\_type**, \_Allocator) -\> unordered\_multimap\< \_Key, \_Tp, **hash**\< \_Key \>, **equal\_to**\< \_Key \>, \_Allocator \>\
 template\<typename \_Key, typename \_Tp, typename \_Hash, typename \_Allocator, typename = \_RequireNotAllocatorOrIntegral\<\_Hash\>, typename = \_RequireAllocator\<\_Allocator\>\> **unordered\_multimap** (**initializer\_list**\< **pair**\< \_Key, \_Tp \> \>, unordered\_multimap\< int, int \>**::size\_type**, \_Hash, \_Allocator) -\> unordered\_multimap\< \_Key, \_Tp, \_Hash, **equal\_to**\< \_Key \>, \_Allocator \>\
 template\<typename \_Key, typename \_Tp, typename \_Hash = hash\<\_Key\>, typename \_Pred = equal\_to\<\_Key\>, typename \_Allocator = allocator\<pair\<const \_Key, \_Tp\>\>, typename = \_RequireNotAllocatorOrIntegral\<\_Hash\>, typename = \_RequireNotAllocator\<\_Pred\>, typename = \_RequireAllocator\<\_Allocator\>\> **unordered\_multimap** (**initializer\_list**\< **pair**\< \_Key, \_Tp \> \>, unordered\_multimap\< int, int \>**::size\_type**={}, \_Hash=\_Hash(), \_Pred=\_Pred(), \_Allocator=\_Allocator()) -\> unordered\_multimap\< \_Key, \_Tp, \_Hash, \_Pred, \_Allocator \>\
 template\<typename \_InputIterator, typename \_Allocator, typename = \_RequireInputIter\<\_InputIterator\>, typename = \_RequireAllocator\<\_Allocator\>\> **unordered\_multiset** (\_InputIterator, \_InputIterator, \_Allocator) -\> unordered\_multiset\< typename **iterator\_traits**\< \_InputIterator \>**::value\_type**, **hash**\< typename **iterator\_traits**\< \_InputIterator \>**::value\_type** \>, **equal\_to**\< typename **iterator\_traits**\< \_InputIterator \>**::value\_type** \>, \_Allocator \>\
 template\<typename \_InputIterator, typename \_Allocator, typename = \_RequireInputIter\<\_InputIterator\>, typename = \_RequireAllocator\<\_Allocator\>\> **unordered\_multiset** (\_InputIterator, \_InputIterator, unordered\_multiset\< int \>**::size\_type**, \_Allocator) -\> unordered\_multiset\< typename **iterator\_traits**\< \_InputIterator \>**::value\_type**, **hash**\< typename **iterator\_traits**\< \_InputIterator \>**::value\_type** \>, **equal\_to**\< typename **iterator\_traits**\< \_InputIterator \>**::value\_type** \>, \_Allocator \>\
 template\<typename \_InputIterator, typename \_Hash, typename \_Allocator, typename = \_RequireInputIter\<\_InputIterator\>, typename = \_RequireNotAllocatorOrIntegral\<\_Hash\>, typename = \_RequireAllocator\<\_Allocator\>\> **unordered\_multiset** (\_InputIterator, \_InputIterator, unordered\_multiset\< int \>**::size\_type**, \_Hash, \_Allocator) -\> unordered\_multiset\< typename **iterator\_traits**\< \_InputIterator \>**::value\_type**, \_Hash, **equal\_to**\< typename **iterator\_traits**\< \_InputIterator \>**::value\_type** \>, \_Allocator \>\
 template\<typename \_InputIterator, typename \_Hash = hash\<typename iterator\_traits\<\_InputIterator\>::value\_type\>, typename \_Pred = equal\_to\<typename iterator\_traits\<\_InputIterator\>::value\_type\>, typename \_Allocator = allocator\<typename iterator\_traits\<\_InputIterator\>::value\_type\>, typename = \_RequireInputIter\<\_InputIterator\>, typename = \_RequireNotAllocatorOrIntegral\<\_Hash\>, typename = \_RequireNotAllocator\<\_Pred\>, typename = \_RequireAllocator\<\_Allocator\>\> **unordered\_multiset** (\_InputIterator, \_InputIterator, unordered\_multiset\< int \>**::size\_type**={}, \_Hash=\_Hash(), \_Pred=\_Pred(), \_Allocator=\_Allocator()) -\> unordered\_multiset\< typename **iterator\_traits**\< \_InputIterator \>**::value\_type**, \_Hash, \_Pred, \_Allocator \>\
 template\<typename \_Tp, typename \_Allocator, typename = \_RequireAllocator\<\_Allocator\>\> **unordered\_multiset** (**initializer\_list**\< \_Tp \>, \_Allocator) -\> unordered\_multiset\< \_Tp, **hash**\< \_Tp \>, **equal\_to**\< \_Tp \>, \_Allocator \>\
 template\<typename \_Tp, typename \_Allocator, typename = \_RequireAllocator\<\_Allocator\>\> **unordered\_multiset** (**initializer\_list**\< \_Tp \>, unordered\_multiset\< int \>**::size\_type**, \_Allocator) -\> unordered\_multiset\< \_Tp, **hash**\< \_Tp \>, **equal\_to**\< \_Tp \>, \_Allocator \>\
 template\<typename \_Tp, typename \_Hash, typename \_Allocator, typename = \_RequireNotAllocatorOrIntegral\<\_Hash\>, typename = \_RequireAllocator\<\_Allocator\>\> **unordered\_multiset** (**initializer\_list**\< \_Tp \>, unordered\_multiset\< int \>**::size\_type**, \_Hash, \_Allocator) -\> unordered\_multiset\< \_Tp, \_Hash, **equal\_to**\< \_Tp \>, \_Allocator \>\
 template\<typename \_Tp, typename \_Hash = hash\<\_Tp\>, typename \_Pred = equal\_to\<\_Tp\>, typename \_Allocator = allocator\<\_Tp\>, typename = \_RequireNotAllocatorOrIntegral\<\_Hash\>, typename = \_RequireNotAllocator\<\_Pred\>, typename = \_RequireAllocator\<\_Allocator\>\> **unordered\_multiset** (**initializer\_list**\< \_Tp \>, unordered\_multiset\< int \>**::size\_type**={}, \_Hash=\_Hash(), \_Pred=\_Pred(), \_Allocator=\_Allocator()) -\> unordered\_multiset\< \_Tp, \_Hash, \_Pred, \_Allocator \>\
 template\<typename \_InputIterator, typename \_Allocator, typename = \_RequireInputIter\<\_InputIterator\>, typename = \_RequireAllocator\<\_Allocator\>\> **unordered\_set** (\_InputIterator, \_InputIterator, \_Allocator) -\> unordered\_set\< typename **iterator\_traits**\< \_InputIterator \>**::value\_type**, **hash**\< typename **iterator\_traits**\< \_InputIterator \>**::value\_type** \>, **equal\_to**\< typename **iterator\_traits**\< \_InputIterator \>**::value\_type** \>, \_Allocator \>\
 template\<typename \_InputIterator, typename \_Allocator, typename = \_RequireInputIter\<\_InputIterator\>, typename = \_RequireAllocator\<\_Allocator\>\> **unordered\_set** (\_InputIterator, \_InputIterator, unordered\_set\< int \>**::size\_type**, \_Allocator) -\> unordered\_set\< typename **iterator\_traits**\< \_InputIterator \>**::value\_type**, **hash**\< typename **iterator\_traits**\< \_InputIterator \>**::value\_type** \>, **equal\_to**\< typename **iterator\_traits**\< \_InputIterator \>**::value\_type** \>, \_Allocator \>\
 template\<typename \_InputIterator, typename \_Hash, typename \_Allocator, typename = \_RequireInputIter\<\_InputIterator\>, typename = \_RequireNotAllocatorOrIntegral\<\_Hash\>, typename = \_RequireAllocator\<\_Allocator\>\> **unordered\_set** (\_InputIterator, \_InputIterator, unordered\_set\< int \>**::size\_type**, \_Hash, \_Allocator) -\> unordered\_set\< typename **iterator\_traits**\< \_InputIterator \>**::value\_type**, \_Hash, **equal\_to**\< typename **iterator\_traits**\< \_InputIterator \>**::value\_type** \>, \_Allocator \>\
 template\<typename \_InputIterator, typename \_Hash = hash\<typename iterator\_traits\<\_InputIterator\>::value\_type\>, typename \_Pred = equal\_to\<typename iterator\_traits\<\_InputIterator\>::value\_type\>, typename \_Allocator = allocator\<typename iterator\_traits\<\_InputIterator\>::value\_type\>, typename = \_RequireInputIter\<\_InputIterator\>, typename = \_RequireNotAllocatorOrIntegral\<\_Hash\>, typename = \_RequireNotAllocator\<\_Pred\>, typename = \_RequireAllocator\<\_Allocator\>\> **unordered\_set** (\_InputIterator, \_InputIterator, unordered\_set\< int \>**::size\_type**={}, \_Hash=\_Hash(), \_Pred=\_Pred(), \_Allocator=\_Allocator()) -\> unordered\_set\< typename **iterator\_traits**\< \_InputIterator \>**::value\_type**, \_Hash, \_Pred, \_Allocator \>\
 template\<typename \_Tp, typename \_Allocator, typename = \_RequireAllocator\<\_Allocator\>\> **unordered\_set** (**initializer\_list**\< \_Tp \>, \_Allocator) -\> unordered\_set\< \_Tp, **hash**\< \_Tp \>, **equal\_to**\< \_Tp \>, \_Allocator \>\
 template\<typename \_Tp, typename \_Allocator, typename = \_RequireAllocator\<\_Allocator\>\> **unordered\_set** (**initializer\_list**\< \_Tp \>, unordered\_set\< int \>**::size\_type**, \_Allocator) -\> unordered\_set\< \_Tp, **hash**\< \_Tp \>, **equal\_to**\< \_Tp \>, \_Allocator \>\
 template\<typename \_Tp, typename \_Hash, typename \_Allocator, typename = \_RequireNotAllocatorOrIntegral\<\_Hash\>, typename = \_RequireAllocator\<\_Allocator\>\> **unordered\_set** (**initializer\_list**\< \_Tp \>, unordered\_set\< int \>**::size\_type**, \_Hash, \_Allocator) -\> unordered\_set\< \_Tp, \_Hash, **equal\_to**\< \_Tp \>, \_Allocator \>\
 template\<typename \_Tp, typename \_Hash = hash\<\_Tp\>, typename \_Pred = equal\_to\<\_Tp\>, typename \_Allocator = allocator\<\_Tp\>, typename = \_RequireNotAllocatorOrIntegral\<\_Hash\>, typename = \_RequireNotAllocator\<\_Pred\>, typename = \_RequireAllocator\<\_Allocator\>\> **unordered\_set** (**initializer\_list**\< \_Tp \>, unordered\_set\< int \>**::size\_type**={}, \_Hash=\_Hash(), \_Pred=\_Pred(), \_Allocator=\_Allocator()) -\> unordered\_set\< \_Tp, \_Hash, \_Pred, \_Allocator \>\
 template\<typename \_InputIterator, typename \_ValT = typename iterator\_traits\<\_InputIterator\>::value\_type, typename \_Allocator = allocator\<\_ValT\>, typename = \_RequireInputIter\<\_InputIterator\>, typename = \_RequireAllocator\<\_Allocator\>\> **vector** (\_InputIterator, \_InputIterator, \_Allocator=\_Allocator()) -\> vector\< \_ValT, \_Allocator \>\
 template\<typename \_Tp, typename \_Allocator = allocator\<\_Tp\>, typename = \_RequireAllocator\<\_Allocator\>\> **vector** (size\_t, \_Tp, \_Allocator=\_Allocator()) -\> vector\< \_Tp, \_Allocator \>\

## Detailed Description

GNU debug code, replaces standard behavior with debug behavior.

Macros and namespaces used by the implementation outside of debug wrappers to verify certain properties. The \_\_glibcxx\_requires\_xxx macros are merely wrappers around the \_\_glibcxx\_check\_xxx wrappers when we are compiling with debug mode, but disappear when we are in release mode so that there is no checking performed in, e.g., the standard library algorithms.

## Function Documentation

### template\<typename \_Tp, typename \_Alloc\> void std::\_\_debug::swap (forward\_list\< \_Tp, \_Alloc \> & \_\_lx, forward\_list\< \_Tp, \_Alloc \> & \_\_ly) \[inline\], \[noexcept\]

See std::forward\_list::swap().

## Author

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