#[derive(Debug, Clone, Ord, PartialOrd, Eq, PartialEq, Hash)]
struct AbsoluteLocationInBitSet
{
major: BitSetWordPointer,
minor: NumberOfBits,
}
impl AbsoluteLocationInBitSet
{
#[inline(always)]
fn align_upwards_to_next_bit_set_word_pointer<R>(self, value_to_return_if_aligned: R, action_if_unaligned: impl FnOnce(&Self) -> R) -> (BitSetWordPointer, R)
{
if unlikely!(self.minor.is_zero())
{
(self.major, value_to_return_if_aligned)
}
else
{
let value_to_return = action_if_unaligned(&self);
(self.major.increment(), value_to_return)
}
}
}