diff --git a/CMakeLists.txt b/CMakeLists.txt index 9e320ed..9047d70 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -113,7 +113,7 @@ set(META_APP_URL "https://github.com/${META_APP_AUTHOR}/${META_PROJECT_NAME}") set(META_APP_DESCRIPTION "Useful C++ classes and routines such as argument parser, IO and conversion utilities") set(META_FEATURES_FOR_COMPILER_DETECTION_HEADER cxx_thread_local) set(META_VERSION_MAJOR 5) -set(META_VERSION_MINOR 9) +set(META_VERSION_MINOR 10) set(META_VERSION_PATCH 0) # find required 3rd party libraries diff --git a/misc/flagenumclass.h b/misc/flagenumclass.h index da329f7..b72f15e 100644 --- a/misc/flagenumclass.h +++ b/misc/flagenumclass.h @@ -76,6 +76,15 @@ constexpr FlagEnumClass &operator-=(FlagEnumClass &lhs, FlagEnumClass rhs) } // namespace FlagEnumClassOperations +/*! + * \brief Sets the specified \a relevantFlags in the specified \a flagVariable to the specified \a value. + */ +template > * = nullptr> +constexpr FlagEnumClass &modFlagEnum(FlagEnumClass &flagVariable, FlagEnumClass relevantFlags, bool value) +{ + return value ? (flagVariable += relevantFlags) : (flagVariable -= relevantFlags); +} + } // namespace CppUtilities #endif // CPP_UTILITIES_FLAG_ENUM_CLASS_H