Use flagenumclass.h to implement operators for VorbisCommentFlags

This commit is contained in:
Martchus 2021-05-13 15:28:56 +02:00
parent 2448bcd456
commit 0e29c98b9f
1 changed files with 6 additions and 8 deletions

View File

@ -3,6 +3,8 @@
#include "../generictagfield.h"
#include <c++utilities/misc/flagenumclass.h>
namespace CppUtilities {
class BinaryReader;
class BinaryWriter;
@ -20,15 +22,11 @@ enum class VorbisCommentFlags : std::uint8_t {
NoCovers = 0x4 /**< Skips all covers when making. */
};
constexpr bool operator&(VorbisCommentFlags lhs, VorbisCommentFlags rhs)
{
return static_cast<std::uint8_t>(lhs) & static_cast<std::uint8_t>(rhs);
}
} // namespace TagParser
constexpr VorbisCommentFlags operator|(VorbisCommentFlags lhs, VorbisCommentFlags rhs)
{
return static_cast<VorbisCommentFlags>(static_cast<std::uint8_t>(lhs) | static_cast<std::uint8_t>(rhs));
}
CPP_UTILITIES_MARK_FLAG_ENUM_CLASS(TagParser, TagParser::VorbisCommentFlags)
namespace TagParser {
class VorbisCommentField;
class Diagnostics;