SDL3pp
A slim C++ wrapper for SDL3
Loading...
Searching...
No Matches
Functions

Functions for fiddling with bits and bitmasks. More...

Functions

constexpr int SDL::MostSignificantBitIndex32 (Uint32 x)
 Get the index of the most significant (set) bit in a 32-bit number.
 
constexpr bool SDL::HasExactlyOneBitSet32 (Uint32 x)
 Determine if a unsigned 32-bit value has exactly one bit set.
 

Detailed Description

Function Documentation

◆ HasExactlyOneBitSet32()

constexpr bool SDL::HasExactlyOneBitSet32 ( Uint32  x)
constexpr

If there are no bits set (x is zero), or more than one bit set, this returns false. If any one bit is exclusively set, this returns true.

Note that this is a forced-inline function in a header, and not a public API function available in the SDL library (which is to say, the code is embedded in the calling program and the linker and dynamic loader will not be able to find this function inside SDL itself).

Parameters
xthe 32-bit value to examine.
Returns
true if exactly one bit is set in x, false otherwise.
Thread safety:
It is safe to call this function from any thread.
Since
This function is available since SDL 3.2.0.

◆ MostSignificantBitIndex32()

constexpr int SDL::MostSignificantBitIndex32 ( Uint32  x)
constexpr

Result is undefined when called with 0. This operation can also be stated as "count leading zeroes" and "log base 2".

Note that this is a forced-inline function in a header, and not a public API function available in the SDL library (which is to say, the code is embedded in the calling program and the linker and dynamic loader will not be able to find this function inside SDL itself).

Parameters
xthe 32-bit value to examine.
Returns
the index of the most significant bit, or -1 if the value is 0.
Thread safety:
It is safe to call this function from any thread.
Since
This function is available since SDL 3.2.0.