diff --git a/io/passwordfile.h b/io/passwordfile.h index e10041f..6f34ca7 100644 --- a/io/passwordfile.h +++ b/io/passwordfile.h @@ -6,6 +6,7 @@ #include #include #include +#include #include #include @@ -25,24 +26,6 @@ enum class PasswordFileOpenFlags : std::uint64_t { std::string PASSWORD_FILE_EXPORT flagsToString(PasswordFileOpenFlags flags); -constexpr PasswordFileOpenFlags operator|(PasswordFileOpenFlags lhs, PasswordFileOpenFlags rhs) -{ - return static_cast( - static_cast::type>(lhs) | static_cast::type>(rhs)); -} - -constexpr PasswordFileOpenFlags &operator|=(PasswordFileOpenFlags &lhs, PasswordFileOpenFlags rhs) -{ - return lhs = static_cast(static_cast::type>(lhs) - | static_cast::type>(rhs)); -} - -constexpr bool operator&(PasswordFileOpenFlags lhs, PasswordFileOpenFlags rhs) -{ - return static_cast( - static_cast::type>(lhs) & static_cast::type>(rhs)); -} - enum class PasswordFileSaveFlags : std::uint64_t { None = 0, Encryption = 1, @@ -54,24 +37,6 @@ enum class PasswordFileSaveFlags : std::uint64_t { std::string PASSWORD_FILE_EXPORT flagsToString(PasswordFileSaveFlags flags); -constexpr PasswordFileSaveFlags operator|(PasswordFileSaveFlags lhs, PasswordFileSaveFlags rhs) -{ - return static_cast( - static_cast::type>(lhs) | static_cast::type>(rhs)); -} - -constexpr PasswordFileSaveFlags &operator|=(PasswordFileSaveFlags &lhs, PasswordFileSaveFlags rhs) -{ - return lhs = static_cast(static_cast::type>(lhs) - | static_cast::type>(rhs)); -} - -constexpr bool operator&(PasswordFileSaveFlags lhs, PasswordFileSaveFlags rhs) -{ - return static_cast( - static_cast::type>(lhs) & static_cast::type>(rhs)); -} - class PASSWORD_FILE_EXPORT PasswordFile { public: explicit PasswordFile(); @@ -253,4 +218,7 @@ inline PasswordFileSaveFlags PasswordFile::saveOptions() const } // namespace Io +CPP_UTILITIES_MARK_FLAG_ENUM_CLASS(Io, Io::PasswordFileOpenFlags); +CPP_UTILITIES_MARK_FLAG_ENUM_CLASS(Io, Io::PasswordFileSaveFlags); + #endif // PASSWORD_FILE_IO_PASSWORD_FILE_H