std::__detail(3)

🌸 NAME 🌸

std::__detail β€” Implementation details not part of the namespace std interface. πŸ’…

This is the std::__detail(3) manual page, bestie. 🫢

✨ SYNOPSIS ✨

okay so welcome to the backstage of libstdc++ β€” the stuff that is not part of the std interface. πŸ‘‘

πŸŽ€ Classes πŸŽ€

  • struct _BracketMatcher β€” Matches a character range (bracket expression).
  • class _Compiler β€” Builds an NFA from an input iterator range.
  • class _Executor β€” Takes a regex and an input string and does the matching.
  • struct _List_node_base β€” Common part of a node in the list.
  • struct _List_node_header β€” The list node header.
  • struct _Quoted_string β€” Struct for delimited strings.
  • class _Scanner β€” Scans an input range for regex tokens.
  • class _StateSeq β€” Describes a sequence of one or more _State, its current start and end(s). This structure contains fragments of an NFA during construction.

🧚 Typedefs 🧚

template<typename _Tp, typename _Up> using __cmp3way_res_t
template<typename _Tp> using __cref
template<typename _Iter> using __iter_concept
template<indirectly_readable _It> using __iter_const_rvalue_reference_t
template<typename _Tp> using __iter_diff_t
template<typename _Iter, typename _Tp = _Iter> using __iter_traits
template<typename _Tp> using __iter_value_t
template<typename _Tp> using __range_iter_t
template<typename _Tp> using __unsigned_least_t
template<typename _Tp> using __with_ref
template<typename _CharT> using _Matcher
typedef long _StateIdT

πŸ”₯ Enumerations πŸ”₯

  • enum _ExecutorFrameOpcode : unsigned char
enum _ExecutorFrameOpcode : unsigned char { _S_fopcode_next,
    _S_fopcode_fallback_next, _S_fopcode_rep_once_more,
    _S_fopcode_fallback_rep_once_more, _S_fopcode_posix_alternative,
    _S_fopcode_merge_sol, _S_fopcode_restore_cur_results,
    _S_fopcode_restore_rep_count, _S_fopcode_decrement_rep_count }
  • enum _Opcode : int β€” Operation codes that define the type of transitions within the base NFA that represents the regular expression.
enum _Opcode : int { _S_opcode_unknown, _S_opcode_alternative,
    _S_opcode_repeat, _S_opcode_backref, _S_opcode_line_begin_assertion,
    _S_opcode_line_end_assertion, _S_opcode_word_boundary,
    _S_opcode_subexpr_lookahead, _S_opcode_subexpr_begin,
    _S_opcode_subexpr_end, _S_opcode_dummy, _S_opcode_match,
    _S_opcode_accept }
  • enum class _RegexExecutorPolicy : int
enum class _RegexExecutorPolicy : int { _S_auto, _S_alternate }

🫢 Functions 🫢

This is the full function roster, signatures stay exactly like this:

  • template<typename _Res, typename _Tp> constexpr _Res __abs_r (_Tp __val)
  • template<typename> void __abs_r (bool)=delete
  • template<typename _ChTraits> constexpr auto __char_traits_cmp_cat (int __cmp) noexcept
  • template<typename... _Ts> constexpr auto __common_cmp_cat ()
  • template<typename _Container, typename _UnsafeContainer, typename _Predicate> constexpr _Container::size_type __erase_if (_Container &__cont, _UnsafeContainer &__ucont, _Predicate __pred)
  • template<typename _Container, typename _UnsafeContainer, typename _Predicate> _Container::size_type __erase_nodes_if (_Container &__cont, _UnsafeContainer &__ucont, _Predicate __pred)
  • template<typename _ValT, typename _CharT, typename _Traits> basic_istream< _CharT, _Traits > & __extract_params (basic_istream< _CharT, _Traits > &__is, vector< _ValT > &__vals, size_t __n)
  • template<bool _DecOnly, typename _Tp> constexpr bool __from_chars_alnum (const char *&__first, const char *__last, _Tp &__val, int __base) β€” std::from_chars implementation for integers in any base. If _DecOnly is true, then we may assume __base is at most 10.
  • template<bool _DecOnly = false> constexpr unsigned char __from_chars_alnum_to_val (unsigned char __c)
  • template<bool _DecOnly, typename _Tp> constexpr bool __from_chars_pow2_base (const char *&__first, const char *__last, _Tp &__val, int __base) β€” std::from_chars implementation for integers in a power-of-two base. If _DecOnly is true, then we may assume __base is at most 8.
  • template<typename _Tp> constexpr _Tp __gcd (_Tp __m, _Tp __n)
  • template<typename _Tp> _Tp * __get_temporary_buffer (ptrdiff_t __len) noexcept
  • template<typename _Tp> constexpr bool __p1_representable_as_double (_Tp __x) noexcept
  • template<typename _Tp> constexpr bool __raise_and_add (_Tp &__val, int __base, unsigned char __c)
  • template<typename _BiIter, typename _Alloc, typename _CharT, typename _TraitsT> bool __regex_algo_impl (_BiIter __s, _BiIter __e, match_results< _BiIter, _Alloc > &__m, const basic_regex< _CharT, _TraitsT > &__re, regex_constants::match_flag_type __flags, _RegexExecutorPolicy __policy, bool __match_mode)
  • template<typename _Tp> constexpr bool __representable_as_double (_Tp __x) noexcept
  • template<typename _Tp> void __return_temporary_buffer (_Tp *__p, size_t __len)
  • template<typename _Tp> constexpr to_chars_result __to_chars (char *__first, char *__last, _Tp __val, int __base) noexcept
  • template<typename _Tp> constexpr to_chars_result __to_chars_10 (char *__first, char *__last, _Tp __val) noexcept
  • template<typename _Tp> constexpr void __to_chars_10_impl (char *__first, unsigned __len, _Tp __val) noexcept
  • template<typename _Tp> constexpr to_chars_result __to_chars_16 (char *__first, char *__last, _Tp __val) noexcept
  • template<typename _Tp> constexpr to_chars_result __to_chars_2 (char *__first, char *__last, _Tp __val) noexcept
  • template<typename _Tp> constexpr to_chars_result __to_chars_8 (char *__first, char *__last, _Tp __val) noexcept
  • template<typename _Tp> constexpr unsigned __to_chars_len (_Tp __value, int __base) noexcept
  • template<typename _Tp> constexpr unsigned __to_chars_len_2 (_Tp __value) noexcept
  • template<typename _CharT, typename _Traits, typename _String> std::basic_ostream< _CharT, _Traits > & operator<< (std::basic_ostream< _CharT, _Traits > &__os, const _Quoted_string< _String, _CharT > &__str) β€” Inserter for quoted strings.
  • template<typename _CharT, typename _Traits> std::basic_ostream< _CharT, _Traits > & operator<< (std::basic_ostream< _CharT, _Traits > &__os, const _Quoted_string< const _CharT *, _CharT > &__str) β€” Inserter for quoted strings.
  • template<typename _CharT, typename _Traits, typename _Alloc> std::basic_istream< _CharT, _Traits > & operator>> (std::basic_istream< _CharT, _Traits > &__is, const _Quoted_string< basic_string< _CharT, _Traits, _Alloc > &, _CharT > &__str) β€” Extractor for delimited strings. The left and right delimiters can be different.

πŸ‘‘ Variables πŸ‘‘

template<typename _Tp> constexpr unsigned __cmp_cat_id
template<> constexpr unsigned __cmp_cat_id< partial_ordering >
template<> constexpr unsigned __cmp_cat_id< strong_ordering >
template<> constexpr unsigned __cmp_cat_id< weak_ordering >
template<typename _Tp> constexpr bool __destructible
template<typename _Tp> constexpr bool __destructible< _Tp & >
template<typename _Tp> constexpr bool __destructible< _Tp && >
template<typename _Tp, size_t _Nm> constexpr bool __destructible< _Tp[_Nm]>
template<typename _Tp> constexpr bool __destructible_impl
template<typename _Tp> constexpr bool __destructible_impl< _Tp >
template<typename _Tp> constexpr bool __is_const_iterator
template<typename _It> constexpr bool __is_const_iterator< basic_const_iterator< _It > >
template<typename _Tp> constexpr bool __is_ref_wrapper
template<typename _Tp> constexpr bool __is_ref_wrapper< reference_wrapper< _Tp > >
constexpr _StateIdT _S_invalid_state_id

πŸ’– Detailed Description πŸ’–

Implementation details not part of the namespace std interface. periodt. πŸ’…

🌈 Function Documentation 🌈

okay so here's the deep lore on the functions that actually got writeups. πŸ‘‘

std::__detail::__from_chars_alnum

template<bool _DecOnly, typename _Tp> bool std::__detail::__from_chars_alnum
    (const char *& __first, const char * __last, _Tp & __val, int __base)
    [constexpr]

std::from_chars implementation for integers in any base. If _DecOnly is true, then we may assume __base is at most 10.

Referenced by std::from_chars().

std::__detail::__from_chars_pow2_base

template<bool _DecOnly, typename _Tp> bool
    std::__detail::__from_chars_pow2_base (const char *& __first, const char
    * __last, _Tp & __val, int __base) [constexpr]

std::from_chars implementation for integers in a power-of-two base. If _DecOnly is true, then we may assume __base is at most 8.

Referenced by std::from_chars().

std::__detail::operator<< (quoted string inserter, generic)

template<typename _CharT, typename _Traits, typename _String>
    std::basic_ostream< _CharT, _Traits > & std::__detail::operator<<
    (std::basic_ostream< _CharT, _Traits > & __os, const _Quoted_string<
    _String, _CharT > & __str)

Inserter for quoted strings.

std::__detail::operator<< (quoted string inserter, const char pointer)

template<typename _CharT, typename _Traits> std::basic_ostream< _CharT,
    _Traits > & std::__detail::operator<< (std::basic_ostream< _CharT,
    _Traits > & __os, const _Quoted_string< const _CharT *, _CharT > &
    __str)

Inserter for quoted strings.

std::__detail::operator>> (delimited string extractor)

template<typename _CharT, typename _Traits, typename _Alloc>
    std::basic_istream< _CharT, _Traits > & std::__detail::operator>>
    (std::basic_istream< _CharT, _Traits > & __is, const _Quoted_string<
    basic_string< _CharT, _Traits, _Alloc > &, _CharT > & __str)

Extractor for delimited strings. The left and right delimiters can be different.

References std::basic_ios< _CharT, _Traits >::clear(), std::ios_base::flags(), std::basic_ios< _CharT, _Traits >::good(), std::ios_base::setf(), std::ios_base::skipws, and std::basic_istream< _CharT, _Traits >::unget().

✨ Author ✨

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


ok bestie that's the whole std::__detail(3) page from libstdc++ β€” stay iconic, drink water, and don't touch implementation details unless you know what you're doing πŸ’…βœ¨

πŸ“¦ 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