Lines Matching refs:Result
106 template<typename Result = size_t>
109 ALWAYS_INLINE Result LoadBits(size_t bit_offset, size_t bit_length) const { in LoadBits()
110 static_assert(std::is_integral<Result>::value, "Result must be integral"); in LoadBits()
111 static_assert(std::is_unsigned<Result>::value, "Result must be unsigned"); in LoadBits()
112 DCHECK(IsAligned<sizeof(Result)>(data_)); in LoadBits()
115 DCHECK_LE(bit_length, BitSizeOf<Result>()); in LoadBits()
120 Result* data = reinterpret_cast<Result*>(data_); in LoadBits()
121 size_t width = BitSizeOf<Result>(); in LoadBits()
124 Result value = data[index] >> shift; in LoadBits()
127 Result extra = data[index + (shift + (bit_length - 1)) / width]; in LoadBits()
129 Result clear = (std::numeric_limits<Result>::max() << 1) << (bit_length - 1); in LoadBits()
242 template<typename Result = size_t>
243 ALWAYS_INLINE Result ReadBits(size_t bit_length) { in ReadBits()
244 return ReadRegion(bit_length).LoadBits<Result>(/* bit_offset */ 0, bit_length); in ReadBits()