* [committed] libstdc++: Remove obfuscating typedefs in <regex>
@ 2021-09-28 19:40 Jonathan Wakely
0 siblings, 0 replies; only message in thread
From: Jonathan Wakely @ 2021-09-28 19:40 UTC (permalink / raw)
To: libstdc++, gcc-patches
[-- Attachment #1: Type: text/plain, Size: 551 bytes --]
There is no benefit to using _SizeT instead of size_t, and IterT tells
you less about the type than const _CharT*. This removes some unhelpful
typedefs.
Signed-off-by: Jonathan Wakely <jwakely@redhat.com>
libstdc++-v3/ChangeLog:
* include/bits/regex_automaton.h (_NFA_base::_SizeT): Remove.
* include/bits/regex_compiler.h (_Compiler::_IterT): Remove.
* include/bits/regex_compiler.tcc: Likewise.
* include/bits/regex_scanner.h (_Scanner::_IterT): Remove.
* include/bits/regex_scanner.tcc: Likewise.
Tested x86_64-linux. Committed to trunk.
[-- Attachment #2: patch.txt --]
[-- Type: text/plain, Size: 4797 bytes --]
commit c44c5f3d9f46705a262911c2098c1568d7e8ac2d
Author: Jonathan Wakely <jwakely@redhat.com>
Date: Tue Sep 28 13:39:36 2021
libstdc++: Remove obfuscating typedefs in <regex>
There is no benefit to using _SizeT instead of size_t, and IterT tells
you less about the type than const _CharT*. This removes some unhelpful
typedefs.
Signed-off-by: Jonathan Wakely <jwakely@redhat.com>
libstdc++-v3/ChangeLog:
* include/bits/regex_automaton.h (_NFA_base::_SizeT): Remove.
* include/bits/regex_compiler.h (_Compiler::_IterT): Remove.
* include/bits/regex_compiler.tcc: Likewise.
* include/bits/regex_scanner.h (_Scanner::_IterT): Remove.
* include/bits/regex_scanner.tcc: Likewise.
diff --git a/libstdc++-v3/include/bits/regex_automaton.h b/libstdc++-v3/include/bits/regex_automaton.h
index 02d81f3e417..f108675f35e 100644
--- a/libstdc++-v3/include/bits/regex_automaton.h
+++ b/libstdc++-v3/include/bits/regex_automaton.h
@@ -183,7 +183,6 @@ namespace __detail
struct _NFA_base
{
- typedef size_t _SizeT;
typedef regex_constants::syntax_option_type _FlagT;
explicit
@@ -206,14 +205,14 @@ namespace __detail
_M_start() const noexcept
{ return _M_start_state; }
- _SizeT
+ size_t
_M_sub_count() const noexcept
{ return _M_subexpr_count; }
_GLIBCXX_STD_C::vector<size_t> _M_paren_stack;
_FlagT _M_flags;
_StateIdT _M_start_state;
- _SizeT _M_subexpr_count;
+ size_t _M_subexpr_count;
bool _M_has_backref;
};
diff --git a/libstdc++-v3/include/bits/regex_compiler.h b/libstdc++-v3/include/bits/regex_compiler.h
index 423ab823194..646766ebdf9 100644
--- a/libstdc++-v3/include/bits/regex_compiler.h
+++ b/libstdc++-v3/include/bits/regex_compiler.h
@@ -58,11 +58,10 @@ namespace __detail
{
public:
typedef typename _TraitsT::char_type _CharT;
- typedef const _CharT* _IterT;
typedef _NFA<_TraitsT> _RegexT;
typedef regex_constants::syntax_option_type _FlagT;
- _Compiler(_IterT __b, _IterT __e,
+ _Compiler(const _CharT* __b, const _CharT* __e,
const typename _TraitsT::locale_type& __traits, _FlagT __flags);
shared_ptr<const _RegexT>
diff --git a/libstdc++-v3/include/bits/regex_compiler.tcc b/libstdc++-v3/include/bits/regex_compiler.tcc
index 9f04c1be686..1bd30972cbb 100644
--- a/libstdc++-v3/include/bits/regex_compiler.tcc
+++ b/libstdc++-v3/include/bits/regex_compiler.tcc
@@ -63,7 +63,7 @@ namespace __detail
{
template<typename _TraitsT>
_Compiler<_TraitsT>::
- _Compiler(_IterT __b, _IterT __e,
+ _Compiler(const _CharT* __b, const _CharT* __e,
const typename _TraitsT::locale_type& __loc, _FlagT __flags)
: _M_flags((__flags
& (regex_constants::ECMAScript
diff --git a/libstdc++-v3/include/bits/regex_scanner.h b/libstdc++-v3/include/bits/regex_scanner.h
index 05d8172a0ad..4e7d5efb34b 100644
--- a/libstdc++-v3/include/bits/regex_scanner.h
+++ b/libstdc++-v3/include/bits/regex_scanner.h
@@ -211,12 +211,11 @@ namespace __detail
: public _ScannerBase
{
public:
- typedef const _CharT* _IterT;
typedef std::basic_string<_CharT> _StringT;
typedef regex_constants::syntax_option_type _FlagT;
typedef const std::ctype<_CharT> _CtypeT;
- _Scanner(_IterT __begin, _IterT __end,
+ _Scanner(const _CharT* __begin, const _CharT* __end,
_FlagT __flags, std::locale __loc);
void
@@ -257,8 +256,8 @@ namespace __detail
void
_M_eat_class(char);
- _IterT _M_current;
- _IterT _M_end;
+ const _CharT* _M_current;
+ const _CharT* _M_end;
_CtypeT& _M_ctype;
_StringT _M_value;
void (_Scanner::* _M_eat_escape)();
diff --git a/libstdc++-v3/include/bits/regex_scanner.tcc b/libstdc++-v3/include/bits/regex_scanner.tcc
index a9d6a613648..b2b709ce3cb 100644
--- a/libstdc++-v3/include/bits/regex_scanner.tcc
+++ b/libstdc++-v3/include/bits/regex_scanner.tcc
@@ -54,8 +54,7 @@ namespace __detail
{
template<typename _CharT>
_Scanner<_CharT>::
- _Scanner(typename _Scanner::_IterT __begin,
- typename _Scanner::_IterT __end,
+ _Scanner(const _CharT* __begin, const _CharT* __end,
_FlagT __flags, std::locale __loc)
: _ScannerBase(__flags),
_M_current(__begin), _M_end(__end),
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2021-09-28 19:40 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-09-28 19:40 [committed] libstdc++: Remove obfuscating typedefs in <regex> Jonathan Wakely
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).