/// Get an iterator over all bits that are set (i.e. 1) when merging
/// this bitfield with another bitfield, without modifying either
/// bitfield, starting at bit position `start` and moving in steps
/// of size `2^step` per word.
Get an iterator over all bits that are set  when merging
this bitfield with another bitfield, without modifying either
bitfield, starting at bit position `start` and moving in steps
of size `2^step` per word.
Get an iterator over all bits that are set when merging this bitfield with another bitfield without modifying either bitfield starting at bit position ` start ` and moving in steps of size ` 2^step ` per word .
fn iter1s_merged<'a>(
		&'a self,
		other: &'a Self,
		start: usize,
		step: usize,
	) -> impl Iterator<Item = Bit1> + 'a {
		match self.bits.len().cmp(&other.bits.len()) {
			Ordering::Equal => Either::Left(iter1s(
				self.bits.iter().zip(&other.bits).map(|(a, b)| a | b),
				start,
				step,
			)),
			Ordering::Less => Either::Right(Either::Left(iter1s(
				self.bits.iter().chain(iter::repeat(&0)).zip(&other.bits).map(|(a, b)| a | b),
				start,
				step,
			))),
			Ordering::Greater => Either::Right(Either::Right(iter1s(
				self.bits
					.iter()
					.zip(other.bits.iter().chain(iter::repeat(&0)))
					.map(|(a, b)| a | b),
				start,
				step,
			))),
		}
	}
fn iter1s_merged < ' a > ( & ' a self , other : & ' a Self , start : usize , step : usize , ) -> impl Iterator < Item = Bit1 > + ' a { match self . bits . len ( ) . cmp ( & other . bits . len ( ) ) { Ordering :: Equal => Either :: Left ( iter1s ( self . bits . iter ( ) . zip ( & other . bits ) . map ( | ( a , b ) | a | b ) , start , step , ) ) , Ordering :: Less => Either :: Right ( Either :: Left ( iter1s ( self . bits . iter ( ) . chain ( iter :: repeat ( & 0 ) ) . zip ( & other . bits ) . map ( | ( a , b ) | a | b ) , start , step , ) ) ) , Ordering :: Greater => Either :: Right ( Either :: Right ( iter1s ( self . bits . iter ( ) . zip ( other . bits . iter ( ) . chain ( iter :: repeat ( & 0 ) ) ) . map ( | ( a , b ) | a | b ) , start , step , ) ) ) , } }
Get an iterator over all bits that are set (i.e.
Get an iterator over all bits that are set ( i . e .
&'a self
other
&'a Self
start
usize
step
usize