Standard library header <stdbit.h> (C++26)

From cppreference.com

This header was originally in the C standard library (

<stdbit.h>

).

This header is part of the

general utilities

library, in particular, it provides several functions and function templates to access and manipulate both individual bits and bit sequences.

It is unspecified whether <stdbit.h> provides any declarations in namespace std.

Functions

Synopsis

// all freestanding#define __STDC_VERSION_STDBIT_H__ 202311L#define __STDC_ENDIAN_BIG__ /* see description */#define __STDC_ENDIAN_LITTLE__ /* see description */#define __STDC_ENDIAN_NATIVE__ /* see description */unsignedintstdc_leading_zeros_uc(unsignedcharvalue);unsignedintstdc_leading_zeros_us(unsignedshortvalue);unsignedintstdc_leading_zeros_ui(unsignedintvalue);unsignedintstdc_leading_zeros_ul(unsignedlongintvalue);unsignedintstdc_leading_zeros_ull(unsignedlonglongintvalue);template<classT>/* see description */stdc_leading_zeros(Tvalue);unsignedintstdc_leading_ones_uc(unsignedcharvalue);unsignedintstdc_leading_ones_us(unsignedshortvalue);unsignedintstdc_leading_ones_ui(unsignedintvalue);unsignedintstdc_leading_ones_ul(unsignedlongintvalue);unsignedintstdc_leading_ones_ull(unsignedlonglongintvalue);template<classT>/* see description */stdc_leading_ones(Tvalue);unsignedintstdc_trailing_zeros_uc(unsignedcharvalue);unsignedintstdc_trailing_zeros_us(unsignedshortvalue);unsignedintstdc_trailing_zeros_ui(unsignedintvalue);unsignedintstdc_trailing_zeros_ul(unsignedlongintvalue);unsignedintstdc_trailing_zeros_ull(unsignedlonglongintvalue);template<classT>/* see description */stdc_trailing_zeros(Tvalue);unsignedintstdc_trailing_ones_uc(unsignedcharvalue);unsignedintstdc_trailing_ones_us(unsignedshortvalue);unsignedintstdc_trailing_ones_ui(unsignedintvalue);unsignedintstdc_trailing_ones_ul(unsignedlongintvalue);unsignedintstdc_trailing_ones_ull(unsignedlonglongintvalue);template<classT>/* see description */stdc_trailing_ones(Tvalue);unsignedintstdc_first_leading_zero_uc(unsignedcharvalue);unsignedintstdc_first_leading_zero_us(unsignedshortvalue);unsignedintstdc_first_leading_zero_ui(unsignedintvalue);unsignedintstdc_first_leading_zero_ul(unsignedlongintvalue);unsignedintstdc_first_leading_zero_ull(unsignedlonglongintvalue);template<classT>/* see description */stdc_first_leading_zero(Tvalue);unsignedintstdc_first_leading_one_uc(unsignedcharvalue);unsignedintstdc_first_leading_one_us(unsignedshortvalue);unsignedintstdc_first_leading_one_ui(unsignedintvalue);unsignedintstdc_first_leading_one_ul(unsignedlongintvalue);unsignedintstdc_first_leading_one_ull(unsignedlonglongintvalue);template<classT>/* see description */stdc_first_leading_one(Tvalue);unsignedintstdc_first_trailing_zero_uc(unsignedcharvalue);unsignedintstdc_first_trailing_zero_us(unsignedshortvalue);unsignedintstdc_first_trailing_zero_ui(unsignedintvalue);unsignedintstdc_first_trailing_zero_ul(unsignedlongintvalue);unsignedintstdc_first_trailing_zero_ull(unsignedlonglongintvalue);template<classT>/* see description */stdc_first_trailing_zero(Tvalue);unsignedintstdc_first_trailing_one_uc(unsignedcharvalue);unsignedintstdc_first_trailing_one_us(unsignedshortvalue);unsignedintstdc_first_trailing_one_ui(unsignedintvalue);unsignedintstdc_first_trailing_one_ul(unsignedlongintvalue);unsignedintstdc_first_trailing_one_ull(unsignedlonglongintvalue);template<classT>/* see description */stdc_first_trailing_one(Tvalue);unsignedintstdc_count_zeros_uc(unsignedcharvalue);unsignedintstdc_count_zeros_us(unsignedshortvalue);unsignedintstdc_count_zeros_ui(unsignedintvalue);unsignedintstdc_count_zeros_ul(unsignedlongintvalue);unsignedintstdc_count_zeros_ull(unsignedlonglongintvalue);template<classT>/* see description */stdc_count_zeros(Tvalue);unsignedintstdc_count_ones_uc(unsignedcharvalue);unsignedintstdc_count_ones_us(unsignedshortvalue);unsignedintstdc_count_ones_ui(unsignedintvalue);unsignedintstdc_count_ones_ul(unsignedlongintvalue);unsignedintstdc_count_ones_ull(unsignedlonglongintvalue);template<classT>/* see description */stdc_count_ones(Tvalue);boolstdc_has_single_bit_uc(unsignedcharvalue);boolstdc_has_single_bit_us(unsignedshortvalue);boolstdc_has_single_bit_ui(unsignedintvalue);boolstdc_has_single_bit_ul(unsignedlongintvalue);boolstdc_has_single_bit_ull(unsignedlonglongintvalue);template<classT>boolstdc_has_single_bit(Tvalue);unsignedintstdc_bit_width_uc(unsignedcharvalue);unsignedintstdc_bit_width_us(unsignedshortvalue);unsignedintstdc_bit_width_ui(unsignedintvalue);unsignedintstdc_bit_width_ul(unsignedlongintvalue);unsignedintstdc_bit_width_ull(unsignedlonglongintvalue);template<classT>/* see description */stdc_bit_width(Tvalue);unsignedcharstdc_bit_floor_uc(unsignedcharvalue);unsignedshortstdc_bit_floor_us(unsignedshortvalue);unsignedintstdc_bit_floor_ui(unsignedintvalue);unsignedlongintstdc_bit_floor_ul(unsignedlongintvalue);unsignedlonglongintstdc_bit_floor_ull(unsignedlonglongintvalue);template<classT>Tstdc_bit_floor(Tvalue);unsignedcharstdc_bit_ceil_uc(unsignedcharvalue);unsignedshortstdc_bit_ceil_us(unsignedshortvalue);unsignedintstdc_bit_ceil_ui(unsignedintvalue);unsignedlongintstdc_bit_ceil_ul(unsignedlongintvalue);unsignedlonglongintstdc_bit_ceil_ull(unsignedlonglongintvalue);template<classT>Tstdc_bit_ceil(Tvalue);