aboutsummaryrefslogtreecommitdiff
path: root/gdbsupport/enum-flags.h
diff options
context:
space:
mode:
authorSimon Marchi <simon.marchi@efficios.com>2024-05-30 16:28:20 -0400
committerSimon Marchi <simon.marchi@efficios.com>2024-08-12 10:58:49 -0400
commitb050b744be4c35cb6743e2e4d55935fdff56a01b (patch)
treebe5e000e6b3ede9e27fd132e5dfa23c73dde9f54 /gdbsupport/enum-flags.h
parent66673ad2e4574db3a65e25b307ad41bbcb165dc2 (diff)
downloadgdb-b050b744be4c35cb6743e2e4d55935fdff56a01b.zip
gdb-b050b744be4c35cb6743e2e4d55935fdff56a01b.tar.gz
gdb-b050b744be4c35cb6743e2e4d55935fdff56a01b.tar.bz2
gdb, gdbsupport: use `using` in enum flags code
I think that `using` is easier to read than `typedef`, and it's the modern C++ thing anyway. Change-Id: Iccb62dc3869cddfb6a684ef3023dcd5b799f3ab2
Diffstat (limited to 'gdbsupport/enum-flags.h')
-rw-r--r--gdbsupport/enum-flags.h30
1 files changed, 15 insertions, 15 deletions
diff --git a/gdbsupport/enum-flags.h b/gdbsupport/enum-flags.h
index 56e0c52..764d521 100644
--- a/gdbsupport/enum-flags.h
+++ b/gdbsupport/enum-flags.h
@@ -55,7 +55,7 @@
enum_flags wrapper class for ENUM, and enables the global operator
overloads for ENUM. */
#define DEF_ENUM_FLAGS_TYPE(enum_type, flags_type) \
- typedef enum_flags<enum_type> flags_type; \
+ using flags_type = enum_flags<enum_type>; \
void is_enum_flags_enum_type (enum_type *)
/* To enable the global enum_flags operators for enum, declare an
@@ -76,24 +76,24 @@
/* Note that std::underlying_type<enum_type> is not what we want here,
since that returns unsigned int even when the enum decays to signed
int. */
-template<int size, bool sign> class integer_for_size { typedef void type; };
-template<> struct integer_for_size<1, 0> { typedef uint8_t type; };
-template<> struct integer_for_size<2, 0> { typedef uint16_t type; };
-template<> struct integer_for_size<4, 0> { typedef uint32_t type; };
-template<> struct integer_for_size<8, 0> { typedef uint64_t type; };
-template<> struct integer_for_size<1, 1> { typedef int8_t type; };
-template<> struct integer_for_size<2, 1> { typedef int16_t type; };
-template<> struct integer_for_size<4, 1> { typedef int32_t type; };
-template<> struct integer_for_size<8, 1> { typedef int64_t type; };
+template<int size, bool sign> class integer_for_size { using type = void; };
+template<> struct integer_for_size<1, 0> { using type = uint8_t; };
+template<> struct integer_for_size<2, 0> { using type = uint16_t; };
+template<> struct integer_for_size<4, 0> { using type = uint32_t; };
+template<> struct integer_for_size<8, 0> { using type = uint64_t; };
+template<> struct integer_for_size<1, 1> { using type = int8_t; };
+template<> struct integer_for_size<2, 1> { using type = int16_t; };
+template<> struct integer_for_size<4, 1> { using type = int32_t; };
+template<> struct integer_for_size<8, 1> { using type = int64_t; };
template<typename T>
struct enum_underlying_type
{
DIAGNOSTIC_PUSH
DIAGNOSTIC_IGNORE_ENUM_CONSTEXPR_CONVERSION
- typedef typename
- integer_for_size<sizeof (T), static_cast<bool>(T (-1) < T (0))>::type
- type;
+ using type
+ = typename integer_for_size<sizeof (T),
+ static_cast<bool>(T (-1) < T (0))>::type;
DIAGNOSTIC_POP
};
@@ -128,8 +128,8 @@ template <typename E>
class enum_flags
{
public:
- typedef E enum_type;
- typedef typename enum_underlying_type<enum_type>::type underlying_type;
+ using enum_type = E;
+ using underlying_type = typename enum_underlying_type<enum_type>::type;
/* For to_string. Maps one enumerator of E to a string. */
struct string_mapping