libstdc++: std::__debug::forward_list< _Tp, _Alloc > Class Template Reference

libstdc++

std::__debug::forward_list< _Tp, _Alloc > Class Template Reference

`#include <forward_list>`

Inheritance diagram for std::__debug::forward_list< _Tp, _Alloc >:
[legend]

## Public Types
typedef _Base::allocator_type | allocator_type
typedef __gnu_debug::_Safe_iterator< _Base_const_iterator, forward_list > | const_iterator
typedef _Base::const_pointer | const_pointer
typedef _Base::const_reference | const_reference
typedef _Base::difference_type | difference_type
typedef __gnu_debug::_Safe_iterator< _Base_iterator, forward_list > | iterator
typedef _Base::pointer | pointer
typedef _Base::reference | reference
typedef _Base::size_type | size_type
typedef _Tp | value_type

## Public Member Functions
| forward_list (_Base_ref __x)
template<typename _InputIterator, typename = std::_RequireInputIter<_InputIterator>>
| forward_list (_InputIterator __first, _InputIterator __last, const allocator_type &__al=allocator_type())
| forward_list (const allocator_type &__al) noexcept
| forward_list (const forward_list &)=default
| forward_list (const forward_list &__list, const allocator_type &__al)
| forward_list (forward_list &&)=default
| forward_list (forward_list &&__list, const allocator_type &__al) noexcept(std::is_nothrow_constructible< _Base, _Base, const allocator_type & >::value)
| forward_list (size_type __n, const __type_identity_t< _Tp > &__value, const allocator_type &__al=allocator_type())
| forward_list (size_type __n, const allocator_type &__al=allocator_type())
| forward_list (std::initializer_list< _Tp > __il, const allocator_type &__al=allocator_type())
const _Base & | _M_base () const noexcept
_Base & | _M_base () noexcept
template<typename _InputIterator, typename = std::_RequireInputIter<_InputIterator>>
void | assign (_InputIterator __first, _InputIterator __last)
void | assign (size_type __n, const _Tp &__val)
void | assign (std::initializer_list< _Tp > __il)
const_iterator | before_begin () const noexcept
iterator | before_begin () noexcept
const_iterator | begin () const noexcept
iterator | begin () noexcept
const_iterator | cbefore_begin () const noexcept
const_iterator | cbegin () const noexcept
const_iterator | cend () const noexcept
void | clear () noexcept
template<typename... _Args>
iterator | emplace_after (const_iterator __pos, _Args &&... __args)
const_iterator | end () const noexcept
iterator | end () noexcept
iterator | erase_after (const_iterator __pos)
iterator | erase_after (const_iterator __pos, const_iterator __last)
reference | front ()
const_reference | front () const
template<typename _InputIterator, typename = std::_RequireInputIter<_InputIterator>>
iterator | insert_after (const_iterator __pos, _InputIterator __first, _InputIterator __last)
iterator | insert_after (const_iterator __pos, _Tp &&__val)
iterator | insert_after (const_iterator __pos, const _Tp &__val)
iterator | insert_after (const_iterator __pos, size_type __n, const _Tp &__val)
iterator | insert_after (const_iterator __pos, std::initializer_list< _Tp > __il)
void | merge (forward_list &&__list)
template<typename _Comp>
void | merge (forward_list &&__list, _Comp __comp)
void | merge (forward_list &__list)
template<typename _Comp>
void | merge (forward_list &__list, _Comp __comp)
forward_list & | operator= (const forward_list &)=default
forward_list & | operator= (forward_list &&)=default
forward_list & | operator= (std::initializer_list< _Tp > __il)
void | pop_front ()
__remove_return_type | remove (const _Tp &__val)
template<typename _Pred>
__remove_return_type | remove_if (_Pred __pred)
void | resize (size_type __sz)
void | resize (size_type __sz, const value_type &__val)
void | splice_after (const_iterator __pos, forward_list &&__list)
void | splice_after (const_iterator __pos, forward_list &&__list, const_iterator __before, const_iterator __last)
void | splice_after (const_iterator __pos, forward_list &&__list, const_iterator __i)
void | splice_after (const_iterator __pos, forward_list &__list)
void | splice_after (const_iterator __pos, forward_list &__list, const_iterator __before, const_iterator __last)
void | splice_after (const_iterator __pos, forward_list &__list, const_iterator __i)
void | swap (forward_list &__list) noexcept(noexcept(declval< _Base & >().swap(__list)))
__remove_return_type | unique ()
template<typename _BinPred>
__remove_return_type | unique (_BinPred __binary_pred)

## 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 _Tp, typename _Alloc = std::allocator<_Tp>>
class std::__debug::forward_list< _Tp, _Alloc >

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

Definition at line 190 of file debug/forward_list.

## Member Typedef Documentation

## ◆ allocator_type

template<typename _Tp, typename _Alloc = std::allocator<_Tp>>

typedef _Base::allocator_type std::__debug::forward_list< _Tp, _Alloc >::allocator_type

Definition at line 226 of file debug/forward_list.

## ◆ const_iterator

template<typename _Tp, typename _Alloc = std::allocator<_Tp>>

typedef __gnu_debug::_Safe_iterator< _Base_const_iterator, forward_list> std::__debug::forward_list< _Tp, _Alloc >::const_iterator

Definition at line 220 of file debug/forward_list.

## ◆ const_pointer

template<typename _Tp, typename _Alloc = std::allocator<_Tp>>

typedef _Base::const_pointer std::__debug::forward_list< _Tp, _Alloc >::const_pointer

Definition at line 228 of file debug/forward_list.

## ◆ const_reference

template<typename _Tp, typename _Alloc = std::allocator<_Tp>>

typedef _Base::const_reference std::__debug::forward_list< _Tp, _Alloc >::const_reference

Definition at line 215 of file debug/forward_list.

## ◆ difference_type

template<typename _Tp, typename _Alloc = std::allocator<_Tp>>

typedef _Base::difference_type std::__debug::forward_list< _Tp, _Alloc >::difference_type

Definition at line 223 of file debug/forward_list.

## ◆ iterator

template<typename _Tp, typename _Alloc = std::allocator<_Tp>>

typedef __gnu_debug::_Safe_iterator< _Base_iterator, forward_list> std::__debug::forward_list< _Tp, _Alloc >::iterator

Definition at line 218 of file debug/forward_list.

## ◆ pointer

template<typename _Tp, typename _Alloc = std::allocator<_Tp>>

typedef _Base::pointer std::__debug::forward_list< _Tp, _Alloc >::pointer

Definition at line 227 of file debug/forward_list.

## ◆ reference

template<typename _Tp, typename _Alloc = std::allocator<_Tp>>

typedef _Base::reference std::__debug::forward_list< _Tp, _Alloc >::reference

Definition at line 214 of file debug/forward_list.

## ◆ size_type

template<typename _Tp, typename _Alloc = std::allocator<_Tp>>

typedef _Base::size_type std::__debug::forward_list< _Tp, _Alloc >::size_type

Definition at line 222 of file debug/forward_list.

## ◆ value_type

template<typename _Tp, typename _Alloc = std::allocator<_Tp>>

typedef _Tp std::__debug::forward_list< _Tp, _Alloc >::value_type

Definition at line 225 of file debug/forward_list.

## Constructor & Destructor Documentation

## ◆ forward_list() [1/8]

template<typename _Tp, typename _Alloc = std::allocator<_Tp>>

std::__debug::forward_list< _Tp, _Alloc >::forward_list | ( | const allocator_type & | __al | ) |
| inlineexplicitnoexcept

Definition at line 235 of file debug/forward_list.

## ◆ forward_list() [2/8]

template<typename _Tp, typename _Alloc = std::allocator<_Tp>>

std::__debug::forward_list< _Tp, _Alloc >::forward_list | ( | const forward_list< _Tp, _Alloc > & | __list,
|  | const allocator_type & | __al )
| inline

Definition at line 238 of file debug/forward_list.

## ◆ forward_list() [3/8]

template<typename _Tp, typename _Alloc = std::allocator<_Tp>>

std::__debug::forward_list< _Tp, _Alloc >::forward_list | ( | forward_list< _Tp, _Alloc > && | __list,
|  | const allocator_type & | __al )
| inlinenoexcept

Definition at line 242 of file debug/forward_list.

## ◆ forward_list() [4/8]

template<typename _Tp, typename _Alloc = std::allocator<_Tp>>

std::__debug::forward_list< _Tp, _Alloc >::forward_list | ( | size_type | __n,
|  | const allocator_type & | __al = allocator_type() )
| inlineexplicit

Definition at line 251 of file debug/forward_list.

## ◆ forward_list() [5/8]

template<typename _Tp, typename _Alloc = std::allocator<_Tp>>

std::__debug::forward_list< _Tp, _Alloc >::forward_list | ( | size_type | __n,
|  | const __type_identity_t< _Tp > & | __value,
|  | const allocator_type & | __al = allocator_type() )
| inline

Definition at line 255 of file debug/forward_list.

## ◆ forward_list() [6/8]

template<typename _Tp, typename _Alloc = std::allocator<_Tp>>
template<typename _InputIterator, typename = std::_RequireInputIter<_InputIterator>>

std::__debug::forward_list< _Tp, _Alloc >::forward_list | ( | _InputIterator | __first,
|  | _InputIterator | __last,
|  | const allocator_type & | __al = allocator_type() )
| inline

Definition at line 262 of file debug/forward_list.

## ◆ forward_list() [7/8]

template<typename _Tp, typename _Alloc = std::allocator<_Tp>>

std::__debug::forward_list< _Tp, _Alloc >::forward_list | ( | std::initializer_list< _Tp > | __il,
|  | const allocator_type & | __al = allocator_type() )
| inline

Definition at line 280 of file debug/forward_list.

## ◆ forward_list() [8/8]

template<typename _Tp, typename _Alloc = std::allocator<_Tp>>

std::__debug::forward_list< _Tp, _Alloc >::forward_list | ( | _Base_ref | __x | ) |
| inline

Definition at line 287 of file debug/forward_list.

## Member Function Documentation

## ◆ _M_base() [1/2]

template<typename _Tp, typename _Alloc = std::allocator<_Tp>>

const _Base & std::__debug::forward_list< _Tp, _Alloc >::_M_base | ( |  | ) | const
| inlinenoexcept

Definition at line 904 of file debug/forward_list.

## ◆ _M_base() [2/2]

template<typename _Tp, typename _Alloc = std::allocator<_Tp>>

_Base & std::__debug::forward_list< _Tp, _Alloc >::_M_base | ( |  | ) |
| inlinenoexcept

Definition at line 901 of file debug/forward_list.

## ◆ _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
| inlineconstexprprotectednoexceptinherited

Definition at line 141 of file safe_container.h.

## ◆ assign() [1/3]

template<typename _Tp, typename _Alloc = std::allocator<_Tp>>
template<typename _InputIterator, typename = std::_RequireInputIter<_InputIterator>>

void std::__debug::forward_list< _Tp, _Alloc >::assign | ( | _InputIterator | __first,
|  | _InputIterator | __last )
| inline

Definition at line 306 of file debug/forward_list.

## ◆ assign() [2/3]

template<typename _Tp, typename _Alloc = std::allocator<_Tp>>

void std::__debug::forward_list< _Tp, _Alloc >::assign | ( | size_type | __n,
|  | const _Tp & | __val )
| inline

Definition at line 354 of file debug/forward_list.

## ◆ assign() [3/3]

template<typename _Tp, typename _Alloc = std::allocator<_Tp>>

void std::__debug::forward_list< _Tp, _Alloc >::assign | ( | std::initializer_list< _Tp > | __il | ) |
| inline

Definition at line 361 of file debug/forward_list.

## ◆ before_begin() [1/2]

template<typename _Tp, typename _Alloc = std::allocator<_Tp>>

const_iterator std::__debug::forward_list< _Tp, _Alloc >::before_begin | ( |  | ) | const
| inlinenoexcept

Definition at line 378 of file debug/forward_list.

## ◆ before_begin() [2/2]

template<typename _Tp, typename _Alloc = std::allocator<_Tp>>

iterator std::__debug::forward_list< _Tp, _Alloc >::before_begin | ( |  | ) |
| inlinenoexcept

Definition at line 373 of file debug/forward_list.

## ◆ begin() [1/2]

template<typename _Tp, typename _Alloc = std::allocator<_Tp>>

const_iterator std::__debug::forward_list< _Tp, _Alloc >::begin | ( |  | ) | const
| inlinenoexcept

Definition at line 388 of file debug/forward_list.

## ◆ begin() [2/2]

template<typename _Tp, typename _Alloc = std::allocator<_Tp>>

iterator std::__debug::forward_list< _Tp, _Alloc >::begin | ( |  | ) |
| inlinenoexcept

Definition at line 383 of file debug/forward_list.

## ◆ cbefore_begin()

template<typename _Tp, typename _Alloc = std::allocator<_Tp>>

const_iterator std::__debug::forward_list< _Tp, _Alloc >::cbefore_begin | ( |  | ) | const
| inlinenoexcept

Definition at line 408 of file debug/forward_list.

## ◆ cbegin()

template<typename _Tp, typename _Alloc = std::allocator<_Tp>>

const_iterator std::__debug::forward_list< _Tp, _Alloc >::cbegin | ( |  | ) | const
| inlinenoexcept

Definition at line 403 of file debug/forward_list.

## ◆ cend()

template<typename _Tp, typename _Alloc = std::allocator<_Tp>>

const_iterator std::__debug::forward_list< _Tp, _Alloc >::cend | ( |  | ) | const
| inlinenoexcept

Definition at line 413 of file debug/forward_list.

## ◆ clear()

template<typename _Tp, typename _Alloc = std::allocator<_Tp>>

void std::__debug::forward_list< _Tp, _Alloc >::clear | ( |  | ) |
| inlinenoexcept

Definition at line 623 of file debug/forward_list.

## ◆ emplace_after()

template<typename _Tp, typename _Alloc = std::allocator<_Tp>>
template<typename... _Args>

iterator std::__debug::forward_list< _Tp, _Alloc >::emplace_after | ( | const_iterator | __pos,
|  | _Args &&... | __args )
| inline

Definition at line 457 of file debug/forward_list.

## ◆ end() [1/2]

template<typename _Tp, typename _Alloc = std::allocator<_Tp>>

const_iterator std::__debug::forward_list< _Tp, _Alloc >::end | ( |  | ) | const
| inlinenoexcept

Definition at line 398 of file debug/forward_list.

## ◆ end() [2/2]

template<typename _Tp, typename _Alloc = std::allocator<_Tp>>

iterator std::__debug::forward_list< _Tp, _Alloc >::end | ( |  | ) |
| inlinenoexcept

Definition at line 393 of file debug/forward_list.

## ◆ erase_after() [1/2]

template<typename _Tp, typename _Alloc = std::allocator<_Tp>>

iterator std::__debug::forward_list< _Tp, _Alloc >::erase_after | ( | const_iterator | __pos | ) |
| inline

Definition at line 527 of file debug/forward_list.

## ◆ erase_after() [2/2]

template<typename _Tp, typename _Alloc = std::allocator<_Tp>>

iterator std::__debug::forward_list< _Tp, _Alloc >::erase_after | ( | const_iterator | __pos,
|  | const_iterator | __last )
| inline

Definition at line 538 of file debug/forward_list.

## ◆ front() [1/2]

template<typename _Tp, typename _Alloc = std::allocator<_Tp>>

reference std::__debug::forward_list< _Tp, _Alloc >::front | ( |  | ) |
| inline

Definition at line 423 of file debug/forward_list.

## ◆ front() [2/2]

template<typename _Tp, typename _Alloc = std::allocator<_Tp>>

const_reference std::__debug::forward_list< _Tp, _Alloc >::front | ( |  | ) | const
| inline

Definition at line 431 of file debug/forward_list.

## ◆ insert_after() [1/5]

template<typename _Tp, typename _Alloc = std::allocator<_Tp>>
template<typename _InputIterator, typename = std::_RequireInputIter<_InputIterator>>

iterator std::__debug::forward_list< _Tp, _Alloc >::insert_after | ( | const_iterator | __pos,
|  | _InputIterator | __first,
|  | _InputIterator | __last )
| inline

Definition at line 489 of file debug/forward_list.

## ◆ insert_after() [2/5]

template<typename _Tp, typename _Alloc = std::allocator<_Tp>>

iterator std::__debug::forward_list< _Tp, _Alloc >::insert_after | ( | const_iterator | __pos,
|  | _Tp && | __val )
| inline

Definition at line 473 of file debug/forward_list.

## ◆ insert_after() [3/5]

template<typename _Tp, typename _Alloc = std::allocator<_Tp>>

iterator std::__debug::forward_list< _Tp, _Alloc >::insert_after | ( | const_iterator | __pos,
|  | const _Tp & | __val )
| inline

Definition at line 466 of file debug/forward_list.

## ◆ insert_after() [4/5]

template<typename _Tp, typename _Alloc = std::allocator<_Tp>>

iterator std::__debug::forward_list< _Tp, _Alloc >::insert_after | ( | const_iterator | __pos,
|  | size_type | __n,
|  | const _Tp & | __val )
| inline

Definition at line 480 of file debug/forward_list.

## ◆ insert_after() [5/5]

template<typename _Tp, typename _Alloc = std::allocator<_Tp>>

iterator std::__debug::forward_list< _Tp, _Alloc >::insert_after | ( | const_iterator | __pos,
|  | std::initializer_list< _Tp > | __il )
| inline

Definition at line 508 of file debug/forward_list.

## ◆ merge() [1/4]

template<typename _Tp, typename _Alloc = std::allocator<_Tp>>

void std::__debug::forward_list< _Tp, _Alloc >::merge | ( | forward_list< _Tp, _Alloc > && | __list | ) |
| inline

Definition at line 853 of file debug/forward_list.

## ◆ merge() [2/4]

template<typename _Tp, typename _Alloc = std::allocator<_Tp>>
template<typename _Comp>

void std::__debug::forward_list< _Tp, _Alloc >::merge | ( | forward_list< _Tp, _Alloc > && | __list,
|  | _Comp | __comp )
| inline

Definition at line 875 of file debug/forward_list.

## ◆ merge() [3/4]

template<typename _Tp, typename _Alloc = std::allocator<_Tp>>

void std::__debug::forward_list< _Tp, _Alloc >::merge | ( | forward_list< _Tp, _Alloc > & | __list | ) |
| inline

Definition at line 870 of file debug/forward_list.

## ◆ merge() [4/4]

template<typename _Tp, typename _Alloc = std::allocator<_Tp>>
template<typename _Comp>

void std::__debug::forward_list< _Tp, _Alloc >::merge | ( | forward_list< _Tp, _Alloc > & | __list,
|  | _Comp | __comp )
| inline

Definition at line 894 of file debug/forward_list.

## ◆ operator=()

template<typename _Tp, typename _Alloc = std::allocator<_Tp>>

forward_list & std::__debug::forward_list< _Tp, _Alloc >::operator= | ( | std::initializer_list< _Tp > | __il | ) |
| inline

Definition at line 296 of file debug/forward_list.

## ◆ pop_front()

template<typename _Tp, typename _Alloc = std::allocator<_Tp>>

void std::__debug::forward_list< _Tp, _Alloc >::pop_front | ( |  | ) |
| inline

Definition at line 447 of file debug/forward_list.

## ◆ remove()

template<typename _Tp, typename _Alloc = std::allocator<_Tp>>

__remove_return_type std::__debug::forward_list< _Tp, _Alloc >::remove | ( | const _Tp & | __val | ) |
| inline

Definition at line 754 of file debug/forward_list.

## ◆ remove_if()

template<typename _Tp, typename _Alloc = std::allocator<_Tp>>
template<typename _Pred>

__remove_return_type std::__debug::forward_list< _Tp, _Alloc >::remove_if | ( | _Pred | __pred | ) |
| inline

Definition at line 784 of file debug/forward_list.

## ◆ resize() [1/2]

template<typename _Tp, typename _Alloc = std::allocator<_Tp>>

void std::__debug::forward_list< _Tp, _Alloc >::resize | ( | size_type | __sz | ) |
| inline

Definition at line 565 of file debug/forward_list.

## ◆ resize() [2/2]

template<typename _Tp, typename _Alloc = std::allocator<_Tp>>

void std::__debug::forward_list< _Tp, _Alloc >::resize | ( | size_type | __sz,
|  | const value_type & | __val )
| inline

Definition at line 594 of file debug/forward_list.

## ◆ splice_after() [1/6]

template<typename _Tp, typename _Alloc = std::allocator<_Tp>>

void std::__debug::forward_list< _Tp, _Alloc >::splice_after | ( | const_iterator | __pos,
|  | forward_list< _Tp, _Alloc > && | __list )
| inline

Definition at line 631 of file debug/forward_list.

## ◆ splice_after() [2/6]

template<typename _Tp, typename _Alloc = std::allocator<_Tp>>

void std::__debug::forward_list< _Tp, _Alloc >::splice_after | ( | const_iterator | __pos,
|  | forward_list< _Tp, _Alloc > && | __list,
|  | const_iterator | __before,
|  | const_iterator | __last )
| inline

Definition at line 684 of file debug/forward_list.

## ◆ splice_after() [3/6]

template<typename _Tp, typename _Alloc = std::allocator<_Tp>>

void std::__debug::forward_list< _Tp, _Alloc >::splice_after | ( | const_iterator | __pos,
|  | forward_list< _Tp, _Alloc > && | __list,
|  | const_iterator | __i )
| inline

Definition at line 654 of file debug/forward_list.

## ◆ splice_after() [4/6]

template<typename _Tp, typename _Alloc = std::allocator<_Tp>>

void std::__debug::forward_list< _Tp, _Alloc >::splice_after | ( | const_iterator | __pos,
|  | forward_list< _Tp, _Alloc > & | __list )
| inline

Definition at line 650 of file debug/forward_list.

## ◆ splice_after() [5/6]

template<typename _Tp, typename _Alloc = std::allocator<_Tp>>

void std::__debug::forward_list< _Tp, _Alloc >::splice_after | ( | const_iterator | __pos,
|  | forward_list< _Tp, _Alloc > & | __list,
|  | const_iterator | __before,
|  | const_iterator | __last )
| inline

Definition at line 735 of file debug/forward_list.

## ◆ splice_after() [6/6]

template<typename _Tp, typename _Alloc = std::allocator<_Tp>>

void std::__debug::forward_list< _Tp, _Alloc >::splice_after | ( | const_iterator | __pos,
|  | forward_list< _Tp, _Alloc > & | __list,
|  | const_iterator | __i )
| inline

Definition at line 679 of file debug/forward_list.

## ◆ swap()

template<typename _Tp, typename _Alloc = std::allocator<_Tp>>

void std::__debug::forward_list< _Tp, _Alloc >::swap | ( | forward_list< _Tp, _Alloc > & | __list | ) |
| inlinenoexcept

Definition at line 557 of file debug/forward_list.

## ◆ unique() [1/2]

template<typename _Tp, typename _Alloc = std::allocator<_Tp>>

__remove_return_type std::__debug::forward_list< _Tp, _Alloc >::unique | ( |  | ) |
| inline

Definition at line 813 of file debug/forward_list.

## ◆ unique() [2/2]

template<typename _Tp, typename _Alloc = std::allocator<_Tp>>
template<typename _BinPred>

__remove_return_type std::__debug::forward_list< _Tp, _Alloc >::unique | ( | _BinPred | __binary_pred | ) |
| inline

Definition at line 818 of file debug/forward_list.

## Friends And Related Symbol Documentation

## ◆ ::__gnu_debug::_Safe_iterator

template<typename _Tp, typename _Alloc = std::allocator<_Tp>>
template<typename _ItT, typename _SeqT, typename _CatT>

friend class ::__gnu_debug::_Safe_iterator
| friend

Definition at line 203 of file debug/forward_list.

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

- debug/forward_list