MySQL 8.3.0
Source Code Documentation
bit.h File Reference
#include <climits>
#include <cstdint>
#include <limits>
#include <type_traits>

Go to the source code of this file.

Namespaces

namespace  stdx
 
namespace  stdx::impl
 

Functions

template<class T >
constexpr std::enable_if_t< sizeof(T)==1, T > stdx::impl::bswap (T t) noexcept
 
template<class T >
constexpr std::enable_if_t< sizeof(T)==2, T > stdx::impl::bswap (T t) noexcept
 
template<class T >
constexpr std::enable_if_t< sizeof(T)==4, T > stdx::impl::bswap (T t) noexcept
 
template<class T >
constexpr std::enable_if_t< sizeof(T)==8, T > stdx::impl::bswap (T t) noexcept
 
template<class IntegerType >
constexpr std::enable_if_t< std::is_integral< IntegerType >::value, IntegerType > stdx::byteswap (IntegerType t) noexcept
 
template<class T >
constexpr std::enable_if_t< std::is_unsigned< T >::value, T > stdx::rotl (T x, int s) noexcept
 
template<class T >
constexpr std::enable_if_t< std::is_unsigned< T >::value, T > stdx::rotr (T x, int s) noexcept
 
template<class T >
constexpr std::enable_if_t< std::is_unsigned< T >::value, int > stdx::impl::countl_zero_linear (T x) noexcept
 
template<class T >
constexpr std::enable_if_t< std::is_unsigned< T >::value, int > stdx::impl::countl_zero_logarithmic (T x) noexcept
 
template<class T >
constexpr std::enable_if_t< std::is_unsigned< T >::value, int > stdx::impl::countl_zero_builtin (T x) noexcept
 
template<class T >
constexpr std::enable_if_t< std::is_unsigned< T >::value, int > stdx::impl::countr_zero_linear (T x) noexcept
 
template<class T >
constexpr std::enable_if_t< std::is_unsigned< T >::value, int > stdx::impl::countr_zero_logarithmic (T x) noexcept
 
template<class T >
constexpr std::enable_if_t< std::is_unsigned< T >::value, int > stdx::impl::countr_zero_builtin (T x) noexcept
 
template<class T >
constexpr std::enable_if_t< std::is_unsigned< T >::value, int > stdx::impl::popcount_constant (T v) noexcept
 popcount. More...
 
template<class T >
constexpr std::enable_if_t< std::is_unsigned< T >::value, int > stdx::impl::popcount_builtin (T v) noexcept
 popcount. More...
 
template<class T >
constexpr std::enable_if_t< std::is_unsigned< T >::value, int > stdx::popcount (T v) noexcept
 
template<class T >
constexpr std::enable_if_t< std::is_unsigned< T >::value, int > stdx::countl_zero (T x) noexcept
 consecutive 0-bits starting from MSB. More...
 
template<class T >
constexpr std::enable_if_t< std::is_unsigned< T >::value, int > stdx::countr_zero (T x) noexcept
 consecutive 0-bits starting from LSB (right). More...
 
template<class T >
constexpr std::enable_if_t< std::is_unsigned< T >::value, int > stdx::countr_one (T x) noexcept
 consecutive 1-bits starting from LSB (right). More...
 
template<class T >
constexpr std::enable_if_t< std::is_unsigned< T >::value, int > stdx::countl_one (T x) noexcept
 consecutive 1-bits starting from LSB (right). More...