---
name: "__gnu_debug::_Safe_association"
section: "3"
platform: "linux"
package: "libstdc++6-4.3-doc"
version: "4.3.2-1.1"
release: "Debian 5.0 (Lenny)"
platforms: ["linux"]
url: "https://new.carta.tech/__gnu_debug::_Safe_association"
---

# \_\_gnu\_debug::\_Safe\_association(3)

## NAME

\_\_gnu\_debug::\_Safe\_association -

## SYNOPSIS

Inherits \_\_gnu\_debug::\_Base.

Inherited by std::\_\_debug::unordered\_map\< \_Key, \_Tp, \_Hash, \_Pred, \_Alloc \>, std::\_\_debug::unordered\_multimap\< \_Key, \_Tp, \_Hash, \_Pred, \_Alloc \>, std::\_\_debug::unordered\_multiset\< \_Value, \_Hash, \_Pred, \_Alloc \>, and std::\_\_debug::unordered\_set\< \_Value, \_Hash, \_Pred, \_Alloc \>.

## Detailed Description

### template\<typename \_Base\> class \_\_gnu\_debug::\_Safe\_association\< \_Base \>

Base class for constructing a 'safe' associated container type.

The class template \_Safe\_association simplifies the construction of 'safe' associated containers.

Definition at line 52 of file safe\_association.h.

### Public Types

typedef \_Base::allocator\_type **allocator\_type**\
 typedef **\_\_gnu\_debug::\_Safe\_iterator**\< typename \_Base::const\_iterator, **\_Safe\_association** \> **const\_iterator**\
 typedef \_Base::const\_reference **const\_reference**\
 typedef \_Base::difference\_type **difference\_type**\
 typedef \_Base::hasher **hasher**\
 typedef **\_\_gnu\_debug::\_Safe\_iterator**\< typename \_Base::iterator, **\_Safe\_association** \> **iterator**\
 typedef \_Base::key\_equal **key\_equal**\
 typedef \_Base::key\_type **key\_type**\
 typedef \_Base::reference **reference**\
 typedef \_Base::size\_type **size\_type**\
 typedef \_Base::value\_type **value\_type**\

### Public Member Functions

const \_Base & **\_M\_base** () const \
 \_Base & **\_M\_base** ()\
 **\_Safe\_association** (**\_Safe\_association** &&\_\_x)\
 **\_Safe\_association** (const \_Base &\_\_x)\
 template\<typename \_InputIter\> **\_Safe\_association** (\_InputIter \_\_f, \_InputIter \_\_l, size\_type \_\_n, const hasher &\_\_hf, const key\_equal &\_\_eql, const allocator\_type &\_\_a=allocator\_type())\
 template\<typename \_InputIter\> **\_Safe\_association** (\_InputIter \_\_f, \_InputIter \_\_l, size\_type \_\_n, const hasher &\_\_hf)\
 template\<typename \_InputIter\> **\_Safe\_association** (\_InputIter \_\_f, \_InputIter \_\_l, size\_type \_\_n)\
 template\<typename \_InputIter\> **\_Safe\_association** (\_InputIter \_\_f, \_InputIter \_\_l)\
 **\_Safe\_association** (size\_type \_\_n, const hasher &\_\_hf, const key\_equal &\_\_eql, const allocator\_type &\_\_a=allocator\_type())\
 **\_Safe\_association** (size\_type \_\_n, const hasher &\_\_hf)\
 **\_Safe\_association** (size\_type \_\_n)\
 **const\_iterator** **begin** () const \
 **const\_iterator** **end** () const \
 **std::pair**\< **const\_iterator**, **const\_iterator** \> **equal\_range** (const key\_type &\_\_key) const \
 **iterator** **erase** (**iterator** \_\_first, **iterator** \_\_last)\
 **iterator** **erase** (**iterator** \_\_it)\
 size\_type **erase** (const key\_type &\_\_key)\
 **const\_iterator** **find** (const key\_type &\_\_key) const \
 template\<typename \_InputIter\> void **insert** (\_InputIter \_\_first, \_InputIter \_\_last)\
 void **insert** (const value\_type \*\_\_first, const value\_type \*\_\_last)\
 **std::pair**\< **iterator**, bool \> **insert** (const value\_type &\_\_obj)\

## Author

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