diff --git a/CMakeLists.txt b/CMakeLists.txt index e106a3a..65b0209 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -42,13 +42,11 @@ target_include_directories(${PROJECT_NAME} $ $) - if(MAGIC_ENUM_OPT_INSTALL) list(APPEND CMAKE_MODULE_PATH "${ADDITIONAL_MODULES_DIR}/GenPkgConfig") include(GenPkgConfig) include(CPackComponent) include(CMakePackageConfigHelpers) - install(TARGETS "${PROJECT_NAME}" EXPORT ${PROJECT_NAME} diff --git a/include/magic_enum/magic_enum_containers.hpp b/include/magic_enum/magic_enum_containers.hpp index 155e497..975fd14 100644 --- a/include/magic_enum/magic_enum_containers.hpp +++ b/include/magic_enum/magic_enum_containers.hpp @@ -523,7 +523,7 @@ class bitset { return *this; } - [[nodiscard]] constexpr explicit operator bool() const noexcept { return (parent->a[num_index] & bit_index) > 0; } + [[nodiscard]] constexpr operator bool() const noexcept { return (parent->a[num_index] & bit_index) > 0; } [[nodiscard]] constexpr bool operator~() const noexcept { return !static_cast(*this); } @@ -982,7 +982,7 @@ class set { constexpr size_type erase(const key_type& key) noexcept { typename container_type::reference ref = a[key]; - bool res = static_cast(ref); + bool res = ref; if (res) { --s; } @@ -1126,42 +1126,42 @@ template explicit set(V starter) -> set; template -constexpr std::enable_if_t<(std::is_integral_v && I < magic_enum::enum_count()), V&> get(magic_enum::containers::array& a) noexcept { +constexpr std::enable_if_t<(std::is_integral_v && I < enum_count()), V&> get(array& a) noexcept { return a.a[I]; } template -constexpr std::enable_if_t<(std::is_integral_v && I < magic_enum::enum_count()), V&&> get(magic_enum::containers::array&& a) noexcept { +constexpr std::enable_if_t<(std::is_integral_v && I < enum_count()), V&&> get(array&& a) noexcept { return std::move(a.a[I]); } template -constexpr std::enable_if_t<(std::is_integral_v && I < magic_enum::enum_count()), const V&> get(const magic_enum::containers::array& a) noexcept { +constexpr std::enable_if_t<(std::is_integral_v && I < enum_count()), const V&> get(const array& a) noexcept { return a.a[I]; } template -constexpr std::enable_if_t<(std::is_integral_v && I < magic_enum::enum_count()), const V&&> get(const magic_enum::containers::array&& a) noexcept { +constexpr std::enable_if_t<(std::is_integral_v && I < enum_count()), const V&&> get(const array&& a) noexcept { return std::move(a.a[I]); } template -constexpr std::enable_if_t && magic_enum::enum_contains(Enum), V&> get(magic_enum::containers::array& a) noexcept { +constexpr std::enable_if_t && enum_contains(Enum), V&> get(array& a) { return a[Enum]; } template -constexpr std::enable_if_t && magic_enum::enum_contains(Enum), V&&> get(magic_enum::containers::array&& a) noexcept { +constexpr std::enable_if_t && enum_contains(Enum), V&&> get(array&& a) { return std::move(a[Enum]); } template -constexpr std::enable_if_t && magic_enum::enum_contains(Enum), const V&> get(const magic_enum::containers::array& a) noexcept { +constexpr std::enable_if_t && enum_contains(Enum), const V&> get(const array& a) { return a[Enum]; } template -constexpr std::enable_if_t && magic_enum::enum_contains(Enum), const V&&> get(const magic_enum::containers::array&& a) noexcept { +constexpr std::enable_if_t && enum_contains(Enum), const V&&> get(const array&& a) { return std::move(a[Enum]); }