Remove old GCC version workarounds

The minimum GCC version is now GCC 10.
This commit is contained in:
Minty-Meeo
2022-09-22 21:12:54 -05:00
committed by get
parent bab3229c98
commit e92f8fcbb4
4 changed files with 3 additions and 15 deletions

View File

@ -42,12 +42,9 @@
* constexpr formatter() : EnumFormatter(names) {}
* };
*/
template <auto last_member, typename = decltype(last_member)>
template <auto last_member>
class EnumFormatter
{
// The second template argument is needed to avoid compile errors from ambiguity with multiple
// enums with the same number of members in GCC prior to 8. See https://godbolt.org/z/xcKaW1seW
// and https://godbolt.org/z/hz7Yqq1P5
using T = decltype(last_member);
static_assert(std::is_enum_v<T>);

View File

@ -15,12 +15,9 @@ namespace Common
{
// A type that allows lookup of values associated with an enum as the key.
// Designed for enums whose numeric values start at 0 and increment continuously with few gaps.
template <typename V, auto last_member, typename = decltype(last_member)>
template <typename V, auto last_member>
class EnumMap final
{
// The third template argument is needed to avoid compile errors from ambiguity with multiple
// enums with the same number of members in GCC prior to 8. See https://godbolt.org/z/xcKaW1seW
// and https://godbolt.org/z/hz7Yqq1P5
using T = decltype(last_member);
static_assert(std::is_enum_v<T>);
static constexpr size_t s_size = static_cast<size_t>(last_member) + 1;