Standard library header (C++20) (original) (raw)
This header is part of the numeric library.
Types | |
---|---|
endian(C++20) | indicates the endianness of scalar types (enum) [edit] |
Functions | |
bit_cast(C++20) | reinterpret the object representation of one type as that of another (function template) [edit] |
byteswap(C++23) | reverses the bytes in the given integer value (function template) [edit] |
has_single_bit(C++20) | checks if a number is an integral power of 2 (function template) [edit] |
bit_ceil(C++20) | finds the smallest integral power of 2 not less than the given value (function template) [edit] |
bit_floor(C++20) | finds the largest integral power of 2 not greater than the given value (function template) [edit] |
bit_width(C++20) | finds the smallest number of bits needed to represent the given value (function template) [edit] |
rotl(C++20) | computes the result of bitwise left-rotation (function template) [edit] |
rotr(C++20) | computes the result of bitwise right-rotation (function template) [edit] |
countl_zero(C++20) | counts the number of consecutive 0 bits, starting from the most significant bit (function template) [edit] |
countl_one(C++20) | counts the number of consecutive 1 bits, starting from the most significant bit (function template) [edit] |
countr_zero(C++20) | counts the number of consecutive 0 bits, starting from the least significant bit (function template) [edit] |
countr_one(C++20) | counts the number of consecutive 1 bits, starting from the least significant bit (function template) [edit] |
popcount(C++20) | counts the number of 1 bits in an unsigned integer (function template) [edit] |
[edit] Synopsis
namespace std { // bit_cast template<class To, class From> constexpr To bit_cast(const From& from) noexcept; // byteswap template constexpr T byteswap(T value) noexcept; // integral powers of 2 template constexpr bool has_single_bit(T x) noexcept; template constexpr T bit_ceil(T x); template constexpr T bit_floor(T x) noexcept; template constexpr int bit_width(T x) noexcept; // rotating template constexpr T rotl(T x, int s) noexcept; template constexpr T rotr(T x, int s) noexcept; // counting template constexpr int countl_zero(T x) noexcept; template constexpr int countl_one(T x) noexcept; template constexpr int countr_zero(T x) noexcept; template constexpr int countr_one(T x) noexcept; template constexpr int popcount(T x) noexcept; // endian enum class endian { little = /* see description /, big = / see description /, native = / see description */ }; }