std::ceil2

From cppreference.com
< cpplrm; | numeric
Defined in header <bit>
template< class T >
constexpr T ceil2(T x) noexcept;
(since C++20)

Calculates the smallest integral power of two that is not smaller than x. If that value is not representable in T, the result is unspecified.

This overload only participates in overload resolution if T is an unsigned integer type (that is, unsigned char, unsigned short, unsigned int, unsigned long, unsigned long long, or an extended unsigned integer type).

Return value

The smallest integral power of two that is not smaller than x, or an unspecified value if the result cannot be represented in T.

Example