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.
Typedefsusing__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 = unsigned int
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 _StateIdTEnumerations
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 }
Operation codes that define the type of transitions within the base NFA that represents the regular
expression.
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 > 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 > 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)
void__thread_relax () noexcept
void__thread_yield () noexcept
template<typename _Tp > constexpr to_chars_result__to_chars (char *__first, char *__last, _Tp __val, int
__base) noexcept
template<typename _Tp > constexpr __integer_to_chars_result_type< _Tp > __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 __integer_to_chars_result_type< _Tp > __to_chars_16 (char *__first,
char *__last, _Tp __val) noexcept
template<typename _Tp > constexpr __integer_to_chars_result_type< _Tp > __to_chars_2 (char *__first, char
*__last, _Tp __val) noexcept
template<typename _Tp > constexpr __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 _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
constexpr auto__atomic_spin_count
constexpr auto__atomic_spin_count_relax
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_span
template<typename _Tp , size_t _Num> constexpr bool __is_span<span<_Tp,_Num>>
template<typename _Tp > constexpr bool __is_std_array
constexpr size_t __platform_wait_alignment
constexpr struct std::__detail::_Synth3way __synth3way
constexpr _StateIdT _S_invalid_state_id