From 85eb71cd20611a8660b8070086127faa0bc7fc04 Mon Sep 17 00:00:00 2001 From: Martchus Date: Mon, 12 Aug 2019 20:22:57 +0200 Subject: [PATCH] Use helper for flag enum from c++utilities --- settings.h | 33 ++++++--------------------------- 1 file changed, 6 insertions(+), 27 deletions(-) diff --git a/settings.h b/settings.h index 8cb2ffc..f9e839d 100644 --- a/settings.h +++ b/settings.h @@ -3,6 +3,8 @@ #include "./tagtarget.h" +#include + #include #include @@ -36,34 +38,11 @@ enum class TagCreationFlags : std::uint64_t { = 1 << 4, /**< keep version of existing ID3v2 tags so TagSettings::id3v2version is only used when creating a *new* ID3v2 tag */ }; -constexpr TagCreationFlags operator|(TagCreationFlags lhs, TagCreationFlags rhs) -{ - return static_cast( - static_cast::type>(lhs) | static_cast::type>(rhs)); -} +} // namespace TagParser -constexpr bool operator&(TagCreationFlags lhs, TagCreationFlags rhs) -{ - return static_cast::type>(lhs) & static_cast::type>(rhs); -} +CPP_UTILITIES_MARK_FLAG_ENUM_CLASS(TagParser, TagParser::TagCreationFlags); -constexpr TagCreationFlags &operator|=(TagCreationFlags &lhs, TagCreationFlags rhs) -{ - return lhs = static_cast( - static_cast::type>(lhs) | static_cast::type>(rhs)); -} - -constexpr TagCreationFlags &operator+=(TagCreationFlags &lhs, TagCreationFlags rhs) -{ - return lhs = static_cast( - static_cast::type>(lhs) | static_cast::type>(rhs)); -} - -constexpr TagCreationFlags &operator-=(TagCreationFlags &lhs, TagCreationFlags rhs) -{ - return lhs = static_cast( - static_cast::type>(lhs) & (~static_cast::type>(rhs))); -} +namespace TagParser { /*! * \brief The TagSettings struct contains settings which can be passed to MediaFileInfo::createAppropriateTags(). @@ -100,7 +79,7 @@ constexpr TagCreationSettings::setFlag(TagCreationFlags flag, bool enabled) { if (enabled) { - flags |= flag; + flags += flag; } else { flags -= flag; }