STD::__DETAIL::_EXECUTOR(3)

πŸ’– std::__detail::_Executor< _BiIter, _Alloc, _TraitsT > πŸ’–

okay bestie, welcome to section 3 of the manual β€” Library Functions Manual energy β€” and today's main character is std::__detail::_Executor< _BiIter, _Alloc, _TraitsT >, which literally just takes a regex and an input string and does the matching. that's it. that's the job. and it ate. πŸ’…


✨ NAME ✨

std::__detail::_Executor< _BiIter, _Alloc, _TraitsT > β€” takes a regex and an input string and does the matching. πŸ¦‹


🌸 SYNOPSIS 🌸

#include <regex>

πŸŽ€ PUBLIC TYPES πŸŽ€

the little name-tags this class hands out, no cap:

  • _CharT β€” typedef iterator_traits< _BiIter >::value_type _CharT, i.e. the character type your iterator is serving up ✨
  • _ClassT β€” typedef _TraitsT::char_class_type _ClassT, the char-class type straight off your traits template 🌈
  • _FlagT β€” typedef regex_constants::match_flag_type _FlagT, the match-flags type, iconic for controlling how matching behaves πŸ‘‘
  • _NFAT β€” typedef _NFA< _TraitsT > _NFAT, the NFA flavor of your traits πŸ’œ
  • _RegexT β€” typedef basic_regex< _CharT, _TraitsT > _RegexT, your actual regex type, the whole point tbh πŸ”₯
  • _ResultsVec β€” typedef ::vector< sub_match< _BiIter >, _Alloc > _ResultsVec, the vector where all the submatch results get to live πŸ“

🫢 PUBLIC MEMBER FUNCTIONS 🫢

  • _Executor (_BiIter __begin, _BiIter __end, _ResultsVec &__results, const _RegexT &__re, _FlagT __flags, bool __use_dfs) β€” the constructor, bestie. you hand it the beginning, the end, a results vector, the regex, the flags, and a bool telling it whether to do the DFS thing. ✨
  • bool _M_match () β€” does the matching. yes that's the one. 🌟
  • bool _M_search () β€” does the searching. πŸ”
  • bool _M_search_from_first () β€” does the searching, but from first. starting fresh, main character energy πŸŽ€

πŸ’… PUBLIC ATTRIBUTES πŸ’…

the whole cast, and yes every single one of them shows up:

  • _BiIter _M_begin β€” where it all begins πŸŒ…
  • _ResultsVec _M_cur_results β€” the results it's currently vibing with
  • _BiIter _M_current β€” the current position, the now, the moment
  • const _BiIter _M_end β€” where it all ends, and it's const so don't even try 🚫
  • _FlagT _M_flags β€” the match flags
  • ::vector< _ExecutorFrame< _BiIter > > _M_frames β€” the stack of executor frames
  • bool _M_has_sol β€” does it have sol? yes/no, bool says it all
  • ::vector< pair< _StateIdT, _ResultsVec > > _M_match_queue β€” the match queue, a whole vector of state-id + results pairs 🌈
  • const _NFAT & _M_nfa β€” a reference to the NFA, const and unbothered πŸ’œ
  • const _RegexT & _M_re β€” a reference to the regex, also const, also unbothered πŸ”₯
  • ::vector< pair< _BiIter, int > > _M_rep_count β€” the repeat counts, iterator + int pairs, one for each πŸ“
  • _ResultsVec & _M_results β€” a reference to the results vector
  • const _Search_mode _M_search_mode β€” the search mode, const, final, periodt πŸ‘‘
  • _BiIter _M_sol_pos β€” the sol position
  • _StateIdT _M_start β€” the start state
  • bool * _M_visited_states β€” a pointer to the visited states, so it remembers where it's been πŸ™ˆ

πŸ¦‹ DETAILED DESCRIPTION πŸ¦‹

✨ template<typename _BiIter, typename _Alloc, typename _TraitsT> ✨

πŸ’– class std::__detail::_Executor< _BiIter, _Alloc, _TraitsT > πŸ’–

"Takes a regex and an input string and does the matching.

The _Executor class has two modes: DFS mode and BFS mode, controlled by the function parameter __search_mode. 🌟


🌈 AUTHOR 🌈

Generated automatically by Doxygen for libstdc++ from the source code. πŸ€–βœ¨


fr fr, that's the whole page. no notes. 🫢

okay bye bestie, this one came straight out of libstdc++ β€” section 3, Library Functions Manual, Doxygen-generated and all β€” and that footer line? it's just libstdc++ holding it down with std::__det... _TraitsT >(3), iykyk. πŸ’–πŸŽ€πŸ¦‹

πŸ“¦ 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.0.1-0.10.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
  • 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