C++ (Qt)bool СompareTypeInfo( const std::type_info * t0, const std::type_info * t1 ){ return t0->before(*t1);}
C++ (Qt)template<class CFlag>int CalcFlagBits( void ){ static_assert(sizeof(CFlag) == sizeof(unit32)); CFlag flag; flag.m_value = (uint32) -1; flag.m_padding = 0; return ffs(flag.m_value); // по-моему эта ф-ция считает число единичек, могу путать}
C++ (Qt)template<std::size_t Size, BitFieldSizeType Bits>struct BitArray{ std::array<BitField<Bits>, Size> arr; auto parse(gsl::span<uint8_t> const& sp, uint64_t& offset) { for (auto& el : arr) el.parse(sp, offset); return arr; }};
struct BasicBitItem{ BitField<16> header;...
BasicBitItem item; SetBitsCount(item, item.header, 16);...