std::__debug::set< _Key, _Compare, _Allocator > Class Template Reference

`#include <set.h>`

Inheritance diagram for std::__debug::set< _Key, _Compare, _Allocator >:
[legend]

## Public Types

typedef _Allocator | allocator_type
typedef __gnu_debug::_Safe_iterator< _Base_const_iterator, set > | const_iterator
typedef _Base::const_pointer | const_pointer
typedef _Base::const_reference | const_reference
typedef std::reverse_iterator< const_iterator > | const_reverse_iterator
typedef _Base::difference_type | difference_type
typedef __gnu_debug::_Safe_iterator< _Base_iterator, set > | iterator
typedef _Compare | key_compare
typedef _Key | key_type
typedef _Base::pointer | pointer
typedef _Base::reference | reference
typedef std::reverse_iterator< iterator > | reverse_iterator
typedef _Base::size_type | size_type
typedef _Compare | value_compare
typedef _Key | value_type

## Public Member Functions

| set (_Base_ref __x)
template<typename _InputIterator>
| set (_InputIterator __first, _InputIterator __last, const _Compare &__comp=_Compare(), const _Allocator &__a=_Allocator())
template<typename _InputIterator>
| set (_InputIterator __first, _InputIterator __last, const allocator_type &__a)
| set (const _Compare &__comp, const _Allocator &__a=_Allocator())
| set (const allocator_type &__a)
| set (const set &)=default
| set (const set &__x, const __type_identity_t< allocator_type > &__a)
| set (initializer_list< value_type > __l, const _Compare &__comp=_Compare(), const allocator_type &__a=allocator_type())
| set (initializer_list< value_type > __l, const allocator_type &__a)
| set (set &&)=default
| set (set &&__x, const __type_identity_t< allocator_type > &__a) noexcept(noexcept(_Base(std::move(__x), __a)))
const _Base & | _M_base () const noexcept
_Base & | _M_base () noexcept
const_iterator | begin () const noexcept
iterator | begin () noexcept
const_iterator | cbegin () const noexcept
const_iterator | cend () const noexcept
void | clear () noexcept
const_reverse_iterator | crbegin () const noexcept
const_reverse_iterator | crend () const noexcept
template<typename... _Args>
std::pair< iterator, bool > | emplace (_Args &&... __args)
template<typename... _Args>
iterator | emplace_hint (const_iterator __pos, _Args &&... __args)
const_iterator | end () const noexcept
iterator | end () noexcept
std::pair< iterator, iterator > | equal_range (const key_type &__x)
std::pair< const_iterator, const_iterator > | equal_range (const key_type &__x) const
_Base_iterator | erase (_Base_const_iterator __position)
template<__heterogeneous_tree_key< set > _Kt>
size_type | erase (_Kt &&__x)
size_type | erase (const key_type &__x)
iterator | erase (const_iterator __first, const_iterator __last)
iterator | erase (const_iterator __position)
iterator | find (const key_type &__x)
const_iterator | find (const key_type &__x) const
template<typename _InputIterator>
void | insert (_InputIterator __first, _InputIterator __last)
template<__heterogeneous_tree_key< set > _Kt>
std::pair< iterator, bool > | insert (_Kt &&__x)
std::pair< iterator, bool > | insert (const value_type &__x)
template<__heterogeneous_tree_key< set > _Kt>
iterator | insert (const_iterator __position, _Kt &&__x)
iterator | insert (const_iterator __position, const value_type &__x)
iterator | insert (const_iterator __position, value_type &&__x)
void | insert (initializer_list< value_type > __l)
std::pair< iterator, bool > | insert (value_type &&__x)
iterator | lower_bound (const key_type &__x)
const_iterator | lower_bound (const key_type &__x) const
set & | operator= (const set &)=default
set & | operator= (initializer_list< value_type > __l)
set & | operator= (set &&)=default
const_reverse_iterator | rbegin () const noexcept
reverse_iterator | rbegin () noexcept
const_reverse_iterator | rend () const noexcept
reverse_iterator | rend () noexcept
void | swap (set &__x) noexcept(/*conditional */)
iterator | upper_bound (const key_type &__x)
const_iterator | upper_bound (const key_type &__x) const

## Protected Member Functions

constexpr void | _M_swap (const _Safe_container &__x) const noexcept

## Friends

template<typename _ItT, typename _SeqT, typename _CatT>
class | ::__gnu_debug::_Safe_iterator

## Detailed Description

template<typename _Key, typename _Compare = std::less<_Key>, typename _Allocator = std::allocator<_Key>>
class std::__debug::set< _Key, _Compare, _Allocator >

Class std::set with safety/checking/debug instrumentation.

Definition at line 44 of file set.h.

## Member Typedef Documentation

## allocator_type

template<typename _Key, typename _Compare = std::less<_Key>, typename _Allocator = std::allocator<_Key>>

typedef _Allocator std::__debug::set< _Key, _Compare, _Allocator >::allocator_type

Definition at line 77 of file set.h.

## const_iterator

template<typename _Key, typename _Compare = std::less<_Key>, typename _Allocator = std::allocator<_Key>>

typedef __gnu_debug::_Safe_iterator<_Base_const_iterator, set> std::__debug::set< _Key, _Compare, _Allocator >::const_iterator

Definition at line 84 of file set.h.

## const_pointer

template<typename _Key, typename _Compare = std::less<_Key>, typename _Allocator = std::allocator<_Key>>

typedef _Base::const_pointer std::__debug::set< _Key, _Compare, _Allocator >::const_pointer

Definition at line 89 of file set.h.

## const_reference

template<typename _Key, typename _Compare = std::less<_Key>, typename _Allocator = std::allocator<_Key>>

typedef _Base::const_reference std::__debug::set< _Key, _Compare, _Allocator >::const_reference

Definition at line 79 of file set.h.

## const_reverse_iterator

template<typename _Key, typename _Compare = std::less<_Key>, typename _Allocator = std::allocator<_Key>>

typedef std::reverse_iterator<const_iterator> std::__debug::set< _Key, _Compare, _Allocator >::const_reverse_iterator

Definition at line 91 of file set.h.

## difference_type

template<typename _Key, typename _Compare = std::less<_Key>, typename _Allocator = std::allocator<_Key>>

typedef _Base::difference_type std::__debug::set< _Key, _Compare, _Allocator >::difference_type

Definition at line 87 of file set.h.

## iterator

template<typename _Key, typename _Compare = std::less<_Key>, typename _Allocator = std::allocator<_Key>>

typedef __gnu_debug::_Safe_iterator<_Base_iterator, set> std::__debug::set< _Key, _Compare, _Allocator >::iterator

Definition at line 82 of file set.h.

## key_compare

template<typename _Key, typename _Compare = std::less<_Key>, typename _Allocator = std::allocator<_Key>>

typedef _Compare std::__debug::set< _Key, _Compare, _Allocator >::key_compare

Definition at line 75 of file set.h.

## key_type

template<typename _Key, typename _Compare = std::less<_Key>, typename _Allocator = std::allocator<_Key>>

typedef _Key std::__debug::set< _Key, _Compare, _Allocator >::key_type

Definition at line 73 of file set.h.

## pointer

template<typename _Key, typename _Compare = std::less<_Key>, typename _Allocator = std::allocator<_Key>>

typedef _Base::pointer std::__debug::set< _Key, _Compare, _Allocator >::pointer

Definition at line 88 of file set.h.

## reference

template<typename _Key, typename _Compare = std::less<_Key>, typename _Allocator = std::allocator<_Key>>

typedef _Base::reference std::__debug::set< _Key, _Compare, _Allocator >::reference

Definition at line 78 of file set.h.

## reverse_iterator

template<typename _Key, typename _Compare = std::less<_Key>, typename _Allocator = std::allocator<_Key>>

typedef std::reverse_iterator<iterator> std::__debug::set< _Key, _Compare, _Allocator >::reverse_iterator

Definition at line 90 of file set.h.

## size_type

template<typename _Key, typename _Compare = std::less<_Key>, typename _Allocator = std::allocator<_Key>>

typedef _Base::size_type std::__debug::set< _Key, _Compare, _Allocator >::size_type

Definition at line 86 of file set.h.

## value_compare

template<typename _Key, typename _Compare = std::less<_Key>, typename _Allocator = std::allocator<_Key>>

typedef _Compare std::__debug::set< _Key, _Compare, _Allocator >::value_compare

Definition at line 76 of file set.h.

## value_type

template<typename _Key, typename _Compare = std::less<_Key>, typename _Allocator = std::allocator<_Key>>

typedef _Key std::__debug::set< _Key, _Compare, _Allocator >::value_type

Definition at line 74 of file set.h.

## Constructor & Destructor Documentation

## set() [1/9]

template<typename _Key, typename _Compare = std::less<_Key>, typename _Allocator = std::allocator<_Key>>

std::__debug::set< _Key, _Compare, _Allocator >::set | ( | initializer_list< value_type > | __l,
|  | const _Compare & | __comp = _Compare(),
|  | const allocator_type & | __a = allocator_type() )

inline

Definition at line 107 of file set.h.

## set() [2/9]

template<typename _Key, typename _Compare = std::less<_Key>, typename _Allocator = std::allocator<_Key>>

std::__debug::set< _Key, _Compare, _Allocator >::set | ( | const allocator_type & | __a | ) |

inline explicit

Definition at line 113 of file set.h.

## set() [3/9]

template<typename _Key, typename _Compare = std::less<_Key>, typename _Allocator = std::allocator<_Key>>

std::__debug::set< _Key, _Compare, _Allocator >::set | ( | const set< _Key, _Compare, _Allocator > & | __x,
|  | const __type_identity_t< allocator_type > & | __a )

inline

Definition at line 116 of file set.h.

## set() [4/9]

template<typename _Key, typename _Compare = std::less<_Key>, typename _Allocator = std::allocator<_Key>>

std::__debug::set< _Key, _Compare, _Allocator >::set | ( | set< _Key, _Compare, _Allocator > && | __x,
|  | const __type_identity_t< allocator_type > & | __a )

inline noexcept

Definition at line 119 of file set.h.

## set() [5/9]

template<typename _Key, typename _Compare = std::less<_Key>, typename _Allocator = std::allocator<_Key>>

std::__debug::set< _Key, _Compare, _Allocator >::set | ( | initializer_list< value_type > | __l,
|  | const allocator_type & | __a )

inline

Definition at line 124 of file set.h.

## set() [6/9]

template<typename _Key, typename _Compare = std::less<_Key>, typename _Allocator = std::allocator<_Key>>
template<typename _InputIterator>

std::__debug::set< _Key, _Compare, _Allocator >::set | ( | _InputIterator | __first,
|  | _InputIterator | __last,
|  | const allocator_type & | __a )

inline

Definition at line 128 of file set.h.

## set() [7/9]

template<typename _Key, typename _Compare = std::less<_Key>, typename _Allocator = std::allocator<_Key>>

std::__debug::set< _Key, _Compare, _Allocator >::set | ( | const _Compare & | __comp,
|  | const _Allocator & | __a = _Allocator() )

inline explicit

Definition at line 156 of file set.h.

## set() [8/9]

template<typename _Key, typename _Compare = std::less<_Key>, typename _Allocator = std::allocator<_Key>>
template<typename _InputIterator>

std::__debug::set< _Key, _Compare, _Allocator >::set | ( | _InputIterator | __first,
|  | _InputIterator | __last,
|  | const _Compare & | __comp = _Compare(),
|  | const _Allocator & | __a = _Allocator() )

inline

Definition at line 161 of file set.h.

## set() [9/9]

template<typename _Key, typename _Compare = std::less<_Key>, typename _Allocator = std::allocator<_Key>>

std::__debug::set< _Key, _Compare, _Allocator >::set | ( | _Base_ref | __x | ) |

inline

Definition at line 169 of file set.h.

## Member Function Documentation

## _M_base() [1/2]

template<typename _Key, typename _Compare = std::less<_Key>, typename _Allocator = std::allocator<_Key>>

const _Base & std::__debug::set< _Key, _Compare, _Allocator >::_M_base | ( |  | ) | const

inline noexcept

Definition at line 640 of file set.h.

## _M_base() [2/2]

template<typename _Key, typename _Compare = std::less<_Key>, typename _Allocator = std::allocator<_Key>>

_Base & std::__debug::set< _Key, _Compare, _Allocator >::_M_base | ( |  | ) |

inline noexcept

Definition at line 637 of file set.h.

## _M_swap()

template<typename _SafeContainer, typename _Alloc, template< typename > class _SafeBase, bool _IsCxx11AllocatorAware = true>

void __gnu_debug::_Safe_container< _SafeContainer, _Alloc, _SafeBase, _IsCxx11AllocatorAware >::_M_swap | ( | const _Safe_container< _SafeContainer, _Alloc, _SafeBase, _IsCxx11AllocatorAware > & | __x | ) | const

inline constexpr protected noexcept inherited

Definition at line 141 of file safe_container.h.

## begin() [1/2]

template<typename _Key, typename _Compare = std::less<_Key>, typename _Allocator = std::allocator<_Key>>

const_iterator std::__debug::set< _Key, _Compare, _Allocator >::begin | ( |  | ) | const

inline noexcept

Definition at line 196 of file set.h.

## begin() [2/2]

template<typename _Key, typename _Compare = std::less<_Key>, typename _Allocator = std::allocator<_Key>>

iterator std::__debug::set< _Key, _Compare, _Allocator >::begin | ( |  | ) |

inline noexcept

Definition at line 192 of file set.h.

## cbegin()

template<typename _Key, typename _Compare = std::less<_Key>, typename _Allocator = std::allocator<_Key>>

const_iterator std::__debug::set< _Key, _Compare, _Allocator >::cbegin | ( |  | ) | const

inline noexcept

Definition at line 225 of file set.h.

## cend()

template<typename _Key, typename _Compare = std::less<_Key>, typename _Allocator = std::allocator<_Key>>

const_iterator std::__debug::set< _Key, _Compare, _Allocator >::cend | ( |  | ) | const

inline noexcept

Definition at line 229 of file set.h.

## clear()

template<typename _Key, typename _Compare = std::less<_Key>, typename _Allocator = std::allocator<_Key>>

void std::__debug::set< _Key, _Compare, _Allocator >::clear | ( |  | ) |

inline noexcept

Definition at line 503 of file set.h.

## crbegin()

template<typename _Key, typename _Compare = std::less<_Key>, typename _Allocator = std::allocator<_Key>>

const_reverse_iterator std::__debug::set< _Key, _Compare, _Allocator >::crbegin | ( |  | ) | const

inline noexcept

Definition at line 233 of file set.h.

## crend()

template<typename _Key, typename _Compare = std::less<_Key>, typename _Allocator = std::allocator<_Key>>

const_reverse_iterator std::__debug::set< _Key, _Compare, _Allocator >::crend | ( |  | ) | const

inline noexcept

Definition at line 237 of file set.h.

## emplace()

template<typename _Key, typename _Compare = std::less<_Key>, typename _Allocator = std::allocator<_Key>>
template<typename... _Args>

std::pair< iterator, bool > std::__debug::set< _Key, _Compare, _Allocator >::emplace | ( | _Args &&... | __args | ) |

inline

Definition at line 250 of file set.h.

## emplace_hint()

template<typename _Key, typename _Compare = std::less<_Key>, typename _Allocator = std::allocator<_Key>>
template<typename... _Args>

iterator std::__debug::set< _Key, _Compare, _Allocator >::emplace_hint | ( | const_iterator | __pos,
|  | _Args &&... | __args )

inline

Definition at line 258 of file set.h.

## end() [1/2]

template<typename _Key, typename _Compare = std::less<_Key>, typename _Allocator = std::allocator<_Key>>

const_iterator std::__debug::set< _Key, _Compare, _Allocator >::end | ( |  | ) | const

inline noexcept

Definition at line 204 of file set.h.

## end() [2/2]

template<typename _Key, typename _Compare = std::less<_Key>, typename _Allocator = std::allocator<_Key>>

iterator std::__debug::set< _Key, _Compare, _Allocator >::end | ( |  | ) |

inline noexcept

Definition at line 200 of file set.h.

## equal_range() [1/2]

template<typename _Key, typename _Compare = std::less<_Key>, typename _Allocator = std::allocator<_Key>>

std::pair< iterator, iterator > std::__debug::set< _Key, _Compare, _Allocator >::equal_range | ( | const key_type & | __x | ) |

inline

Definition at line 595 of file set.h.

## equal_range() [2/2]

template<typename _Key, typename _Compare = std::less<_Key>, typename _Allocator = std::allocator<_Key>>

std::pair< const_iterator, const_iterator > std::__debug::set< _Key, _Compare, _Allocator >::equal_range | ( | const key_type & | __x | ) | const

inline

Definition at line 606 of file set.h.

## erase() [1/5]

template<typename _Key, typename _Compare = std::less<_Key>, typename _Allocator = std::allocator<_Key>>

_Base_iterator std::__debug::set< _Key, _Compare, _Allocator >::erase | ( | _Base_const_iterator | __position | ) |

inline

Definition at line 404 of file set.h.

## erase() [2/5]

template<typename _Key, typename _Compare = std::less<_Key>, typename _Allocator = std::allocator<_Key>>
template<__heterogeneous_tree_key< set > _Kt>

size_type std::__debug::set< _Key, _Compare, _Allocator >::erase | ( | _Kt && | __x | ) |

inline

Definition at line 440 of file set.h.

## erase() [3/5]

template<typename _Key, typename _Compare = std::less<_Key>, typename _Allocator = std::allocator<_Key>>

size_type std::__debug::set< _Key, _Compare, _Allocator >::erase | ( | const key_type & | __x | ) |

inline

Definition at line 421 of file set.h.

## erase() [4/5]

template<typename _Key, typename _Compare = std::less<_Key>, typename _Allocator = std::allocator<_Key>>

iterator std::__debug::set< _Key, _Compare, _Allocator >::erase | ( | const_iterator | __first,
|  | const_iterator | __last )

inline

Definition at line 457 of file set.h.

## erase() [5/5]

template<typename _Key, typename _Compare = std::less<_Key>, typename _Allocator = std::allocator<_Key>>

iterator std::__debug::set< _Key, _Compare, _Allocator >::erase | ( | const_iterator | __position | ) |

inline

Definition at line 397 of file set.h.

## find() [1/2]

template<typename _Key, typename _Compare = std::less<_Key>, typename _Allocator = std::allocator<_Key>>

iterator std::__debug::set< _Key, _Compare, _Allocator >::find | ( | const key_type & | __x | ) |

inline

Definition at line 515 of file set.h.

## find() [2/2]

template<typename _Key, typename _Compare = std::less<_Key>, typename _Allocator = std::allocator<_Key>>

const_iterator std::__debug::set< _Key, _Compare, _Allocator >::find | ( | const key_type & | __x | ) | const

inline

Definition at line 521 of file set.h.

## insert() [1/8]

template<typename _Key, typename _Compare = std::less<_Key>, typename _Allocator = std::allocator<_Key>>
template<typename _InputIterator>

void std::__debug::set< _Key, _Compare, _Allocator >::insert | ( | _InputIterator | __first,
|  | _InputIterator | __last )

inline

Definition at line 325 of file set.h.

## insert() [2/8]

template<typename _Key, typename _Compare = std::less<_Key>, typename _Allocator = std::allocator<_Key>>
template<__heterogeneous_tree_key< set > _Kt>

std::pair< iterator, bool > std::__debug::set< _Key, _Compare, _Allocator >::insert | ( | _Kt && | __x | ) |

inline

Definition at line 289 of file set.h.

## insert() [3/8]

template<typename _Key, typename _Compare = std::less<_Key>, typename _Allocator = std::allocator<_Key>>

std::pair< iterator, bool > std::__debug::set< _Key, _Compare, _Allocator >::insert | ( | const value_type & | __x | ) |

inline

Definition at line 270 of file set.h.

## insert() [4/8]

template<typename _Key, typename _Compare = std::less<_Key>, typename _Allocator = std::allocator<_Key>>
template<__heterogeneous_tree_key< set > _Kt>

iterator std::__debug::set< _Key, _Compare, _Allocator >::insert | ( | const_iterator | __position,
|  | _Kt && | __x )

inline

Definition at line 315 of file set.h.

## insert() [5/8]

template<typename _Key, typename _Compare = std::less<_Key>, typename _Allocator = std::allocator<_Key>>

iterator std::__debug::set< _Key, _Compare, _Allocator >::insert | ( | const_iterator | __position,
|  | const value_type & | __x )

inline

Definition at line 297 of file set.h.

## insert() [6/8]

template<typename _Key, typename _Compare = std::less<_Key>, typename _Allocator = std::allocator<_Key>>

iterator std::__debug::set< _Key, _Compare, _Allocator >::insert | ( | const_iterator | __position,
|  | value_type && | __x )

inline

Definition at line 305 of file set.h.

## insert() [7/8]

template<typename _Key, typename _Compare = std::less<_Key>, typename _Allocator = std::allocator<_Key>>

void std::__debug::set< _Key, _Compare, _Allocator >::insert | ( | initializer_list< value_type > | __l | ) |

inline

Definition at line 339 of file set.h.

## insert() [8/8]

template<typename _Key, typename _Compare = std::less<_Key>, typename _Allocator = std::allocator<_Key>>

std::pair< iterator, bool > std::__debug::set< _Key, _Compare, _Allocator >::insert | ( | value_type && | __x | ) |

inline

Definition at line 279 of file set.h.

## lower_bound() [1/2]

template<typename _Key, typename _Compare = std::less<_Key>, typename _Allocator = std::allocator<_Key>>

iterator std::__debug::set< _Key, _Compare, _Allocator >::lower_bound | ( | const key_type & | __x | ) |

inline

Definition at line 543 of file set.h.

## lower_bound() [2/2]

template<typename _Key, typename _Compare = std::less<_Key>, typename _Allocator = std::allocator<_Key>>

const_iterator std::__debug::set< _Key, _Compare, _Allocator >::lower_bound | ( | const key_type & | __x | ) | const

inline

Definition at line 549 of file set.h.

## operator=()

template<typename _Key, typename _Compare = std::less<_Key>, typename _Allocator = std::allocator<_Key>>

set & std::__debug::set< _Key, _Compare, _Allocator >::operator= | ( | initializer_list< value_type > | __l | ) |

inline

Definition at line 180 of file set.h.

## rbegin() [1/2]

template<typename _Key, typename _Compare = std::less<_Key>, typename _Allocator = std::allocator<_Key>>

const_reverse_iterator std::__debug::set< _Key, _Compare, _Allocator >::rbegin | ( |  | ) | const

inline noexcept

Definition at line 212 of file set.h.

## rbegin() [2/2]

template<typename _Key, typename _Compare = std::less<_Key>, typename _Allocator = std::allocator<_Key>>

reverse_iterator std::__debug::set< _Key, _Compare, _Allocator >::rbegin | ( |  | ) |

inline noexcept

Definition at line 208 of file set.h.

## rend() [1/2]

template<typename _Key, typename _Compare = std::less<_Key>, typename _Allocator = std::allocator<_Key>>

const_reverse_iterator std::__debug::set< _Key, _Compare, _Allocator >::rend | ( |  | ) | const

inline noexcept

Definition at line 220 of file set.h.

## rend() [2/2]

template<typename _Key, typename _Compare = std::less<_Key>, typename _Allocator = std::allocator<_Key>>

reverse_iterator std::__debug::set< _Key, _Compare, _Allocator >::rend | ( |  | ) |

inline noexcept

Definition at line 216 of file set.h.

## swap()

template<typename _Key, typename _Compare = std::less<_Key>, typename _Allocator = std::allocator<_Key>>

void std::__debug::set< _Key, _Compare, _Allocator >::swap | ( | set< _Key, _Compare, _Allocator > & | __x | ) |

inline noexcept

Definition at line 495 of file set.h.

## upper_bound() [1/2]

template<typename _Key, typename _Compare = std::less<_Key>, typename _Allocator = std::allocator<_Key>>

iterator std::__debug::set< _Key, _Compare, _Allocator >::upper_bound | ( | const key_type & | __x | ) |

inline

Definition at line 569 of file set.h.

## upper_bound() [2/2]

template<typename _Key, typename _Compare = std::less<_Key>, typename _Allocator = std::allocator<_Key>>

const_iterator std::__debug::set< _Key, _Compare, _Allocator >::upper_bound | ( | const key_type & | __x | ) | const

inline

Definition at line 575 of file set.h.

## Friends And Related Symbol Documentation

## ::__gnu_debug::_Safe_iterator

template<typename _Key, typename _Compare = std::less<_Key>, typename _Allocator = std::allocator<_Key>>
template<typename _ItT, typename _SeqT, typename _CatT>

friend class ::__gnu_debug::_Safe_iterator

friend

Definition at line 59 of file set.h.

The documentation for this class was generated from the following file:

- set.h