std::__detail Namespace Reference

## Classes

struct | _BracketMatcher
class | _Compiler
class | _Executor
struct | _List_node_base
struct | _List_node_header
struct | _Quoted_string
class | _Scanner
class | _StateSeq

## Typedefs

using | __bare_timed_wait = __timed_waiter< std::false_type >
using | __bare_wait = __waiter< std::false_type >
template<typename _Cat , typename _Limit , typename _Otherwise = _Cat>
using | __clamp_iter_cat = __conditional_t< derived_from< _Cat, _Limit >, _Limit, _Otherwise >
template<typename _Tp , typename _Up >
using | __cmp3way_res_t = decltype(std::declval< _Tp >()<=> std::declval< _Up >())
template<typename _Tp >
using | __cref = const remove_reference_t< _Tp > &
using | __enters_timed_wait = __timed_waiter< std::true_type >
using | __enters_wait = __waiter< std::true_type >
template<typename _Tp >
using | __integer_from_chars_result_type = enable_if_t< __or_< __is_signed_integer< _Tp >, __is_unsigned_integer< _Tp >, is_same< char, remove_cv_t< _Tp > >>::value, from_chars_result >
template<typename _Tp >
using | __integer_to_chars_result_type = enable_if_t< __or_< __is_signed_integer< _Tp >, __is_unsigned_integer< _Tp >, is_same< char, remove_cv_t< _Tp > >>::value, to_chars_result >
template<typename _Iter >
using | __iter_concept = typename __iter_concept_impl< _Iter >::type
template<typename _Tp >
using | __iter_diff_t = typename __iter_traits< _Tp, incrementable_traits< _Tp > >::difference_type
template<typename _Iter , typename _Tp = _Iter>
using | __iter_traits = typename __iter_traits_impl< _Iter, _Tp >::type
template<typename _Tp >
using | __iter_value_t = typename __iter_traits< _Tp, indirectly_readable_traits< _Tp > >::value_type
using | __platform_wait_t = uint64_t
template<typename _Tp >
using | __range_iter_t = decltype(ranges::__cust_access::__begin(std::declval< _Tp & >()))
template<typename _Tp , typename _Up = _Tp>
using | __synth3way_t = decltype(__detail::__synth3way(std::declval< _Tp & >(), std::declval< _Up & >()))
template<typename _Tp >
using | __unsigned_least_t = typename __to_chars_unsigned_type< _Tp >::type
using | __wait_clock_t = chrono::steady_clock
template<typename _Tp >
using | __with_ref = _Tp &
template<typename _CharT >
using | _Matcher = std::function< bool(_CharT)>
typedef long | _StateIdT

## Enumerations

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 { _S_auto , _S_alternate }

## Functions

template<typename _Res , typename _Tp >
constexpr _Res | __abs_r (_Tp __val)
template<typename >
void | __abs_r (bool)=delete
template<typename _Tp >
bool | __atomic_compare (const _Tp &__a, const _Tp &__b)
template<typename _Pred , typename _Spin = __default_spin_policy>
bool | __atomic_spin (_Pred &__pred, _Spin __spin=_Spin{ }) noexcept
template<typename... _Ts>
constexpr auto | __common_cmp_cat ()
template<typename _Clock , typename _Dur >
bool | __cond_wait_until (__condvar &__cv, mutex &__mx, const chrono::time_point< _Clock, _Dur > &__atime)
template<typename _Clock , typename _Dur >
bool | __cond_wait_until_impl (__condvar &__cv, mutex &__mx, const chrono::time_point< _Clock, _Dur > &__atime)
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 >
bool | __from_chars_alnum (const char *&__first, const char *__last, _Tp &__val, int __base)
template<bool _DecOnly = false>
unsigned char | __from_chars_alnum_to_val (unsigned char __c)
constexpr auto | __from_chars_alnum_to_val_table ()
template<bool _DecOnly, typename _Tp >
bool | __from_chars_pow2_base (const char *&__first, const char *__last, _Tp &__val, int __base)
template<typename _Tp >
constexpr _Tp | __gcd (_Tp __m, _Tp __n)
template<typename _Tp >
constexpr bool | __p1_representable_as_double (_Tp __x) noexcept
template<typename _Tp >
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)
void | __thread_relax () noexcept
void | __thread_yield () noexcept
template<typename _Tp >
to_chars_result | __to_chars (char *__first, char *__last, _Tp __val, int __base) noexcept
template<typename _Tp >
__integer_to_chars_result_type< _Tp > | __to_chars_10 (char *__first, char *__last, _Tp __val) noexcept
template<typename _Tp >
void | __to_chars_10_impl (char *__first, unsigned __len, _Tp __val) noexcept
template<typename _Tp >
__integer_to_chars_result_type< _Tp > | __to_chars_16 (char *__first, char *__last, _Tp __val) noexcept
template<typename _Tp >
__integer_to_chars_result_type< _Tp > | __to_chars_2 (char *__first, char *__last, _Tp __val) noexcept
template<typename _Tp >
__integer_to_chars_result_type< _Tp > | __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 _Dur >
__wait_clock_t::time_point | __to_wait_clock (const chrono::time_point< __wait_clock_t, _Dur > &__atime) noexcept
template<typename _Clock , typename _Dur >
__wait_clock_t::time_point | __to_wait_clock (const chrono::time_point< _Clock, _Dur > &__atime) noexcept
template<typename _Tp >
constexpr bool | _Power_of_2 (_Tp __x)
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)
template<typename _CharT , typename _Traits >
std::basic_ostream< _CharT, _Traits > & | operator<< (std::basic_ostream< _CharT, _Traits > &__os, const _Quoted_string< const _CharT *, _CharT > &__str)
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)
template<typename _Iter >
| requires (!requires { typename __iter_traits< _Iter >::iterator_concept;} &&!requires { typename __iter_traits< _Iter >::iterator_category;} &&__primary_traits_iter< _Iter >) struct __iter_concept_impl< _Iter >
template<typename _Iter >
| requires (!requires { typename __iter_traits< _Iter >::iterator_concept;} &&requires { typename __iter_traits< _Iter >::iterator_category;}) struct __iter_concept_impl< _Iter >

## Variables

template<typename _Tp , typename _Up >
concept | __3way_builtin_ptr_cmp
constexpr auto | __atomic_spin_count
constexpr auto | __atomic_spin_count_relax
template<typename _Tp >
concept | __boolean_testable
template<typename _Tp >
concept | __boolean_testable_impl
template<typename _Tp >
concept | __can_reference
template<typename _Tp >
concept | __class_or_enum
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 _It >
concept | __common_iter_has_arrow
template<typename _It >
concept | __common_iter_use_postfix_proxy
template<typename _Tp , typename _Cat >
concept | __compares_as
template<typename _Iter >
concept | __cpp17_bidi_iterator
template<typename _Iter >
concept | __cpp17_fwd_iterator
template<typename _Iter >
concept | __cpp17_input_iterator
template<typename _Iter >
concept | __cpp17_iterator
template<typename _Iter >
concept | __cpp17_randacc_iterator
template<typename _Tp >
concept | __dereferenceable
template<typename _Tp >
concept | __has_member_element_type
template<typename _Tp >
concept | __has_member_value_type
template<typename _In >
concept | __indirectly_readable_impl
template<typename _Tp >
constexpr bool | __is_span
template<typename _Tp , size_t _Num>
constexpr bool | __is_span< span< _Tp, _Num > >
template<typename _Tp >
constexpr bool | __is_std_array
template<typename _Iter >
concept | __iter_with_nested_types
template<typename _Iter >
concept | __iter_without_category
template<typename _Iter >
concept | __iter_without_nested_types
template<typename _Tp , typename _Up >
concept | __partially_ordered_with
constexpr size_t | __platform_wait_alignment
template<typename _Iter >
concept | __primary_traits_iter
template<typename _Tp , typename _Up >
concept | __same_as
constexpr struct std::__detail::_Synth3way | __synth3way
template<typename _Tp , typename _Up >
concept | __weakly_eq_cmp_with
constexpr _StateIdT | _S_invalid_state_id
template<typename _Tp , typename _Up >
requires | requires

## Detailed Description

Implementation details not part of the namespace std interface.

## Function Documentation

## __from_chars_alnum()

template<bool _DecOnly, typename _Tp >

bool std::__detail::__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.

Definition at line 510 of file charconv.

## __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
| ) |  |

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.

Definition at line 453 of file charconv.

## operator<<() [1/2]

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.

_GLIBCXX_RESOLVE_LIB_DEFECTS DR 2344 quoted()'s interaction with padding is unclear

Definition at line 1 of file quoted_string.h.

## operator<<() [2/2]

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.

_GLIBCXX_RESOLVE_LIB_DEFECTS DR 2344 quoted()'s interaction with padding is unclear

Definition at line 1 of file quoted_string.h.

## operator>>()

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.

Definition at line 139 of file quoted_string.h.

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().