ALib C++ Library
Library Version: 2510 R0
Documentation generated by doxygen
Loading...
Searching...
No Matches
bits.inl File Reference

Description:

This header-file is part of module ALib Lang of the ALib C++ Library.

© 2013-2025 A-Worx GmbH, Germany. Published under Boost Software License.

Definition in file bits.inl.

Include dependency graph for bits.inl:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  alib
 
namespace  alib::lang
 

Typedefs

using alib::lang::ShiftOpRHS = int
 

Functions

template<typename TIntegral>
requires std::integral<TIntegral>
constexpr int alib::lang::BitCount (TIntegral value)
 
template<typename T>
constexpr int alib::lang::bitsofval (const T &val)
 
template<typename TIntegral>
requires std::integral<TIntegral>
constexpr int alib::lang::CLZ (TIntegral value)
 
template<typename TIntegral>
requires std::integral<TIntegral>
constexpr int alib::lang::CLZ0 (TIntegral value)
 
template<typename TIntegral>
requires std::integral<TIntegral>
constexpr int alib::lang::CTZ (TIntegral value)
 
template<typename TIntegral>
requires std::integral<TIntegral>
constexpr int alib::lang::CTZ0 (TIntegral value)
 
template<typename TIntegral>
requires std::integral<TIntegral>
constexpr int alib::lang::Log2OfSize ()
 
template<typename TIntegral>
requires std::integral<TIntegral>
constexpr TIntegral alib::lang::LowerBits (ShiftOpRHS width, TIntegral value)
 
template<ShiftOpRHS TWidth, typename TIntegral>
requires std::integral<TIntegral>
constexpr TIntegral alib::lang::LowerBits (TIntegral value)
 
template<ShiftOpRHS TWidth, typename TIntegral>
requires ( std::is_integral<TIntegral>::value && TWidth < bitsof(TIntegral) )
constexpr TIntegral alib::lang::LowerMask ()
 
template<ShiftOpRHS TWidth, typename TIntegral>
requires ( std::is_integral<TIntegral>::value && TWidth >= bitsof(TIntegral) )
constexpr TIntegral alib::lang::LowerMask ()
 
template<typename TIntegral>
requires std::integral<TIntegral>
constexpr TIntegral alib::lang::LowerMask (ShiftOpRHS width)
 
template<typename TIntegral>
requires std::integral<TIntegral>
constexpr int alib::lang::MSB (TIntegral value)
 
template<typename TIntegral>
requires std::integral<TIntegral>
constexpr int alib::lang::MSB0 (TIntegral value)
 
template<ShiftOpRHS TWidth, typename TIntegral>
requires ( std::is_integral<TIntegral>::value && TWidth < bitsof(TIntegral) )
constexpr TIntegral alib::lang::UpperMask ()
 
template<ShiftOpRHS TWidth, typename TIntegral>
requires ( std::is_integral<TIntegral>::value && TWidth >= bitsof(TIntegral) )
constexpr TIntegral alib::lang::UpperMask ()
 
template<typename TIntegral>
requires std::integral<TIntegral>
constexpr TIntegral alib::lang::UpperMask (ShiftOpRHS width)