STD::__DEBUG::FORWARD_LIST(3)
π std::__debug::forward_list< _Tp, _Alloc > π
okay bestie, welcome to the Library Functions Manual, section 3, and no we are NOT skipping anything, this page is a whole meal. π
This is the manual page for std::__debug::forward_list< _Tp, _Alloc > β that's the debug-flavoured glow-up of a class, and the header line up top is honestly giving truncated-girlboss energy: std::__deb...p, _Alloc >(3). She's mysterious. She contains multitudes. π¦
β¨ NAME β¨
std::__debug::forward_list< _Tp, _Alloc > β Class std::forward_list with safety/checking/debug instrumentation. π‘οΈβ¨
π SYNOPSIS π
#include <forward_list>
Inherits __gnu_debug::_Safe_container< _SafeContainer, _Alloc, _SafeBase, _IsCxx11AllocatorAware >.
Inherited by std::__debug::forward_list< _Tp, _Alloc >, and std::__debug::iterator< _Tp, _Alloc >.
yes it inherits from the safe container and yes it's also listed as being inherited by itself, the family tree is a little bit of a circle, we don't ask questions, we just vibe π
π Public Types
typedef _Base::allocator_type allocator_typeβ the allocator type, straight from_Base, iconic.typedef __gnu_debug::_Safe_iterator< _Base_const_iterator, forward_list > const_iteratorβ the const iterator, but make it safe β¨typedef _Base::const_pointer const_pointerβ const pointer, courtesy of_Base.typedef _Base::const_reference const_referenceβ const reference, also from_Base.typedef _Base::difference_type difference_typeβ the difference type,_Basesaid "here you go".typedef __gnu_debug::_Safe_iterator< _Base_iterator, forward_list > iteratorβ the regular iterator, safety-instrumented and everything π«Άtypedef _Base::pointer pointerβ pointer,_Baseflavoured.typedef _Base::reference referenceβ reference,_Baseflavoured.typedef _Base::size_type size_typeβ size type, from_Base.typedef _Tp value_typeβ literally just_Tp. no notes. π
πΈ Public Member Functions
okay this list is LONG, hydrate first, we're going through all of it.
forward_list (_Base_ref __x)β constructor from a_Base_ref.template<typename _InputIterator, typename = std::_RequireInputIter<_InputIterator>> forward_list (_InputIterator __first, _InputIterator __last, const allocator_type &__al=allocator_type())β constructor from an iterator range, with the allocator defaulting toallocator_type().forward_list (const allocator_type &__al) noexceptβ constructor from just an allocator,noexceptand unbothered. πforward_list (const forward_list &)=defaultβ copy constructor, defaulted.forward_list (const forward_list &__list, const allocator_type &__al)β copy constructor that also takes an allocator.forward_list (forward_list &&)=defaultβ move constructor, defaulted.forward_list (forward_list &&__list, const allocator_type &__al) noexcept(std::is_nothrow_constructible< _Base, _Base, const allocator_type & >::value)β move constructor with an allocator, and thatnoexceptspec is verbatim, don't touch her.forward_list (size_type __n, const __type_identity_t< _Tp > &__value, const allocator_type &__al=allocator_type())β constructor from a count and a value, allocator defaults toallocator_type().forward_list (size_type __n, const allocator_type &__al=allocator_type())β constructor from just a count, allocator defaults toallocator_type().forward_list (std::initializer_list< _Tp > __il, const allocator_type &__al=allocator_type())β constructor from aninitializer_list, allocator defaults toallocator_type().const _Base & _M_base () const noexceptβ const access to the_Base,noexcept._Base & _M_base () noexceptβ non-const access to the_Base,noexcept.template<typename _InputIterator, typename = std::_RequireInputIter<_InputIterator>> void assign (_InputIterator __first, _InputIterator __last)βassignfrom an iterator range.void assign (size_type __n, const _Tp &__val)βassign__ncopies of__val.void assign (std::initializer_list< _Tp > __il)βassignfrom aninitializer_list.const_iterator before_begin () const noexceptβ const iterator to before-the-beginning,noexcept.iterator before_begin () noexceptβ iterator to before-the-beginning,noexcept.const_iterator begin () const noexceptβ const iterator to the beginning,noexcept.iterator begin () noexceptβ iterator to the beginning,noexcept.const_iterator cbefore_begin () const noexceptβ const iterator to before-the-beginning,noexcept, thecstands for cute (it also stands for const, both true π).const_iterator cbegin () const noexceptβ const begin,noexcept.const_iterator cend () const noexceptβ const end,noexcept.void clear () noexceptβ wipes it,noexcept.template<typename... _Args> iterator emplace_after (const_iterator __pos, _Args &&... __args)β constructs in place after__pos, variadic and everything.const_iterator end () const noexceptβ const iterator to the end,noexcept.iterator end () noexceptβ iterator to the end,noexcept.iterator erase_after (const_iterator __pos)β erases the element after__pos.iterator erase_after (const_iterator __pos, const_iterator __last)β erases the range after__posup to__last.reference front ()β reference to the front element.const_reference front () constβ const reference to the front element.template<typename _InputIterator, typename = std::_RequireInputIter<_InputIterator>> iterator insert_after (const_iterator __pos, _InputIterator __first, _InputIterator __last)βinsert_afterfrom an iterator range.iterator insert_after (const_iterator __pos, _Tp &&__val)βinsert_aftera moved value.iterator insert_after (const_iterator __pos, const _Tp &__val)βinsert_aftera const value.iterator insert_after (const_iterator __pos, size_type __n, const _Tp &__val)βinsert_after__ncopies of__val.iterator insert_after (const_iterator __pos, std::initializer_list< _Tp > __il)βinsert_afterfrom aninitializer_list.void merge (forward_list &&__list)β merges an rvalueforward_list.template<typename _Comp> void merge (forward_list &&__list, _Comp __comp)β merges an rvalueforward_listusing__comp.void merge (forward_list &__list)β merges an lvalueforward_list.template<typename _Comp> void merge (forward_list &__list, _Comp __comp)β merges an lvalueforward_listusing__comp.forward_list & operator= (const forward_list &)=defaultβ copy assignment, defaulted.forward_list & operator= (forward_list &&)=defaultβ move assignment, defaulted.forward_list & operator= (std::initializer_list< _Tp > __il)β assignment from aninitializer_list.void pop_front ()β yeets the front element.__remove_return_type remove (const _Tp &__val)β removes matching__val, returns__remove_return_type.template<typename _Pred> __remove_return_type remove_if (_Pred __pred)β removes whatever__predsays yes to, returns__remove_return_type.void resize (size_type __sz)β resizes to__sz.void resize (size_type __sz, const value_type &__val)β resizes to__sz, filling with__val.void splice_after (const_iterator __pos, forward_list &&__list)β splices an rvalueforward_listafter__pos.void splice_after (const_iterator __pos, forward_list &&__list, const_iterator __before, const_iterator __last)β splices the range__beforeto__lastfrom an rvalueforward_listafter__pos.void splice_after (const_iterator __pos, forward_list &&__list, const_iterator __i)β splices the single element at__ifrom an rvalueforward_listafter__pos.void splice_after (const_iterator __pos, forward_list &__list)β splices an lvalueforward_listafter__pos.void splice_after (const_iterator __pos, forward_list &__list, const_iterator __before, const_iterator __last)β splices the range__beforeto__lastfrom an lvalueforward_listafter__pos.void splice_after (const_iterator __pos, forward_list &__list, const_iterator __i)β splices the single element at__ifrom an lvalueforward_listafter__pos.void swap (forward_list &__list) noexcept(noexcept(declval< _Base & >().swap(__list)))β swaps with__list, and thatnoexceptclause is exact, don't you dare paraphrase her. π₯__remove_return_type unique ()β removes consecutive duplicates, returns__remove_return_type.template<typename _BinPred> __remove_return_type unique (_BinPred __binary_pred)β removes consecutive elements according to__binary_pred, returns__remove_return_type.
π§ Protected Member Functions
constexpr void _M_swap (const _Safe_container &__x) const noexceptβ protected,constexpr,noexcept, takes aconst _Safe_container &__x. she's private-ish but make it constexpr. β¨
π Friends
template<typename _ItT, typename _SeqT, typename _CatT> class ::__gnu_debug::_Safe_iteratorβ yes, that whole templated class is a friend. mutuals only. π«Ά
π Detailed Description π
template<typename _Tp, typename _Alloc = std::allocator<_Tp>>
class std::__debug::forward_list< _Tp, _Alloc >
and the vibe of the whole thing, quoted directly: "Class std::forward_list with safety/checking/debug instrumentation." π‘οΈπ
π Author π
Generated automatically by Doxygen for libstdc++ from the source code. so technically the author is a robot and honestly? she ate. π€π
and that's the whole page bestie, no crumbs left β every typedef, every constructor, every overload, every noexcept, every protected member and that one friend class, all accounted for. the footer is just libstdc++ and a truncated std::__deb...p, _Alloc >(3) with no date in sight, so consider this your cute sign-off: generated with love, checked with safety instrumentation, libstdc++, that's the whole vibe ππβ¨
π¦ where this page comes from
- arch rolling: gcc 16.2.1+r23+gd564253eb6c8-1 Β· GPL-3.0-or-later WITH GCC-exception-3.1 AND GFDL-1.3-or-later
- fedora 44: libstdc++-docs 16.2.1-2.fc44
- fedora 44: libstdc++-docs 16.2.1-3.fc44 Β· GPL-3.0-or-later AND LGPL-3.0-or-later AND (GPL-3.0-or-later WITH GCC-exception-3.1) AND (GPL-3.0-or-later WITH Texinfo-exception) AND (LGPL-2.1-or-later WITH GCC-exception-2.0) AND (GPL-2.0-or-later WITH GCC-exception-2.0) AND (GPL-2.0-or-later WITH GNU-compiler-exception) AND BSL-1.0 AND GFDL-1.3-or-later AND Linux-man-pages-copyleft-2-para AND SunPro AND BSD-1-Clause AND BSD-2-Clause AND BSD-2-Clause-Views AND BSD-3-Clause AND BSD-4-Clause AND BSD-Source-Code AND Zlib AND MIT AND Apache-2.0 AND (Apache-2.0 WITH LLVM-Exception) AND ZPL-2.1 AND ISC AND LicenseRef-Fedora-Public-Domain AND HP-1986 AND curl AND Martin-Birgmeier AND HPND-Markus-Kuhn AND dtoa AND SMLNJ AND AMD-newlib AND OAR AND HPND-merchantability-variant AND HPND-Intel
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms