struct BitPatterns
Declaration
template <typename T, unsigned int Bits>
struct BitPatterns { /* full declaration omitted */ };
Description
A struct defining useful bit patterns for n-bits integer types.
Declared at: llvm/include/llvm/ADT/Bitfields.h:94
Templates
- T
- unsigned int Bits
Member Variables
- public static const unsigned int TypeBits = sizeof(typename make_unsigned<type-parameter-0-0>::type) * 8
- public static const llvm::bitfields_details::BitPatterns:: Unsigned AllZeros = typename make_unsigned<type-parameter-0-0>::type(0)
- e.g. with TypeBits == 8 and Bits == 6.
- public static const llvm::bitfields_details::BitPatterns:: Unsigned AllOnes = ~ typename make_unsigned<type-parameter-0-0>::type(0)
- public static const llvm::bitfields_details::BitPatterns:: Unsigned Umin = AllZeros
- public static const llvm::bitfields_details::BitPatterns:: Unsigned Umax = AllOnes >> (TypeBits - Bits)
- public static const llvm::bitfields_details::BitPatterns:: Unsigned SignBitMask = typename make_unsigned<type-parameter-0-0>::type(1) << (Bits - 1)
- public static const llvm::bitfields_details::BitPatterns:: Unsigned Smax = Umax >> 1U
- public static const llvm::bitfields_details::BitPatterns:: Unsigned Smin = ~ Smax
- public static const llvm::bitfields_details::BitPatterns:: Unsigned SignExtend = typename make_unsigned<type-parameter-0-0>::type(Smin << 1U)