mirror of
https://github.com/BlackMATov/enum.hpp.git
synced 2025-12-13 06:59:45 +07:00
fix any_of/none_of
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -1,3 +1,4 @@
|
||||
build/*
|
||||
.clangd/*
|
||||
.vscode/*
|
||||
CMakeLists.txt.user
|
||||
|
||||
@@ -232,8 +232,7 @@ namespace enum_hpp::bitflags
|
||||
|
||||
template < typename Enum >
|
||||
constexpr bool any_of(bitflags<Enum> flags, bitflags<Enum> mask) noexcept {
|
||||
return mask.as_raw() == 0
|
||||
|| (flags.as_raw() & mask.as_raw()) != 0;
|
||||
return 0 != (flags.as_raw() & mask.as_raw());
|
||||
}
|
||||
|
||||
//
|
||||
@@ -258,8 +257,7 @@ namespace enum_hpp::bitflags
|
||||
|
||||
template < typename Enum >
|
||||
constexpr bool none_of(bitflags<Enum> flags, bitflags<Enum> mask) noexcept {
|
||||
return mask.as_raw() != 0
|
||||
&& (flags.as_raw() & mask.as_raw()) == 0;
|
||||
return 0 == (flags.as_raw() & mask.as_raw());
|
||||
}
|
||||
|
||||
//
|
||||
|
||||
@@ -337,44 +337,44 @@ TEST_CASE("enum_bitflags") {
|
||||
}
|
||||
|
||||
SUBCASE("any_of") {
|
||||
STATIC_CHECK(bf::any_of(access::none, access::none));
|
||||
STATIC_CHECK_FALSE(bf::any_of(access::none, access::none));
|
||||
STATIC_CHECK_FALSE(bf::any_of(access::none, access::read));
|
||||
STATIC_CHECK_FALSE(bf::any_of(access::none, access::write));
|
||||
STATIC_CHECK_FALSE(bf::any_of(access::none, access::read_write));
|
||||
|
||||
STATIC_CHECK(bf::any_of(access::read, access::none));
|
||||
STATIC_CHECK_FALSE(bf::any_of(access::read, access::none));
|
||||
STATIC_CHECK(bf::any_of(access::read, access::read));
|
||||
STATIC_CHECK_FALSE(bf::any_of(access::read, access::write));
|
||||
STATIC_CHECK(bf::any_of(access::read, access::read_write));
|
||||
|
||||
STATIC_CHECK(bf::any_of(access::write, access::none));
|
||||
STATIC_CHECK_FALSE(bf::any_of(access::write, access::none));
|
||||
STATIC_CHECK_FALSE(bf::any_of(access::write, access::read));
|
||||
STATIC_CHECK(bf::any_of(access::write, access::write));
|
||||
STATIC_CHECK(bf::any_of(access::write, access::read_write));
|
||||
|
||||
STATIC_CHECK(bf::any_of(access::read_write, access::none));
|
||||
STATIC_CHECK_FALSE(bf::any_of(access::read_write, access::none));
|
||||
STATIC_CHECK(bf::any_of(access::read_write, access::read));
|
||||
STATIC_CHECK(bf::any_of(access::read_write, access::write));
|
||||
STATIC_CHECK(bf::any_of(access::read_write, access::read_write));
|
||||
}
|
||||
|
||||
SUBCASE("none_of") {
|
||||
STATIC_CHECK_FALSE(bf::none_of(access::none, access::none));
|
||||
STATIC_CHECK(bf::none_of(access::none, access::none));
|
||||
STATIC_CHECK(bf::none_of(access::none, access::read));
|
||||
STATIC_CHECK(bf::none_of(access::none, access::write));
|
||||
STATIC_CHECK(bf::none_of(access::none, access::read_write));
|
||||
|
||||
STATIC_CHECK_FALSE(bf::none_of(access::read, access::none));
|
||||
STATIC_CHECK(bf::none_of(access::read, access::none));
|
||||
STATIC_CHECK_FALSE(bf::none_of(access::read, access::read));
|
||||
STATIC_CHECK(bf::none_of(access::read, access::write));
|
||||
STATIC_CHECK_FALSE(bf::none_of(access::read, access::read_write));
|
||||
|
||||
STATIC_CHECK_FALSE(bf::none_of(access::write, access::none));
|
||||
STATIC_CHECK(bf::none_of(access::write, access::none));
|
||||
STATIC_CHECK(bf::none_of(access::write, access::read));
|
||||
STATIC_CHECK_FALSE(bf::none_of(access::write, access::write));
|
||||
STATIC_CHECK_FALSE(bf::none_of(access::write, access::read_write));
|
||||
|
||||
STATIC_CHECK_FALSE(bf::none_of(access::read_write, access::none));
|
||||
STATIC_CHECK(bf::none_of(access::read_write, access::none));
|
||||
STATIC_CHECK_FALSE(bf::none_of(access::read_write, access::read));
|
||||
STATIC_CHECK_FALSE(bf::none_of(access::read_write, access::write));
|
||||
STATIC_CHECK_FALSE(bf::none_of(access::read_write, access::read_write));
|
||||
|
||||
Reference in New Issue
Block a user