|
template<typename RESULT_TYPE = unsigned long long, typename... ARGS>
requires detail::valid_flag_bits_arguments<RESULT_TYPE, ARGS...> |
| constexpr RESULT_TYPE | ghassanpl::flag_bits (ARGS... args) noexcept |
| | Takes a list of enum values that represent bit numbers (not actual bit values) and returns a value with all the chosen bits set.
|
| template<typename RESULT_TYPE = unsigned long long, typename BIT_TYPE> |
| constexpr RESULT_TYPE | ghassanpl::bit_to_flag (BIT_TYPE bit) noexcept |
| template<typename INTEGRAL, typename ENUM_TYPE> |
| constexpr bool | ghassanpl::is_flag_set (INTEGRAL const &bits, ENUM_TYPE flag) noexcept |
| | Checks if an integral value has the bit at number represented by flag set.
|
| template<typename INTEGRAL, typename... ARGS> |
| constexpr bool | ghassanpl::are_any_flags_set (INTEGRAL const &bits, ARGS... args) noexcept |
| | Checks if an integral value has any of the bits at numbers represented by args set.
|
| template<typename INTEGRAL, typename... ARGS> |
| constexpr bool | ghassanpl::are_all_flags_set (INTEGRAL const &bits, ARGS... args) noexcept |
| | Checks if an integral value has all of the bits at numbers represented by args set.
|
| template<typename INTEGRAL, typename... ARGS> |
| constexpr void | ghassanpl::set_flags (INTEGRAL &bits, ARGS... args) noexcept |
| | Sets the bits at numbers represented by args in bits.
|
| template<typename INTEGRAL, typename... ARGS> |
| constexpr void | ghassanpl::unset_flags (INTEGRAL &bits, ARGS... args) noexcept |
| | Unsets the bits at numbers represented by args in bits.
|
| template<typename INTEGRAL, typename... ARGS> |
| constexpr void | ghassanpl::toggle_flags (INTEGRAL &bits, ARGS... args) noexcept |
| | Toggles the bits at numbers represented by args in bits.
|
| template<typename INTEGRAL, typename... ARGS> |
| constexpr void | ghassanpl::set_flags_to (INTEGRAL &bits, bool val, ARGS... args) noexcept |
| | Sets the bits at numbers represented by args in bits to either 0 or 1, depending on val.
|