pub fn transfigure_iterator<'a>(
        &'a self,
        rhs: impl Iterator<Item = Bell> + 'a,
    ) -> impl Iterator<Item = Bell> + 'a {
        rhs.map(move |b| self.seq[b.as_usize()])
    }
/// Multiplies a given `Change` with an iterator of [Bell]s (see [Change::multiply] for more
/// details about how multiplication of permutations works).  This is the same as
/// [multiply_iterator](Change::multiply_iterator), except that this will return another
/// iterator, rather than a `Change`.
///
/// Conceptually, this is treating the [Bell]s of the iterator as the place in this `Change`
/// where the output [Bell] should come from.  Therefore, this has no requirement that the
/// iterator represents a permutation - it could well contain duplicate [Bell]s, in which case
/// the output will also contain duplicate [Bell]s in the same locations.
///
/// # Examples
/// ```
/// use bellmetal::{Bell, Change, Transposition};
///
/// let c = Change::from("321");
/// let part_head = Change::from("56781234");
///
/// let mut new_iterator = part_head.transfigure_iterator(c.iter());
///
/// assert_eq!(new_iterator.next(), Some(Bell::from('7')));
/// assert_eq!(new_iterator.next(), Some(Bell::from('6')));
/// assert_eq!(new_iterator.next(), Some(Bell::from('5')));
/// assert_eq!(new_iterator.next(), None);
/// ```
Multiplies a given `Change` with an iterator of [Bell]s (see [Change::multiply] for more
details about how multiplication of permutations works).  This is the same as
[multiply_iterator](Change::multiply_iterator), except that this will return another
iterator, rather than a `Change`.

Conceptually, this is treating the [Bell]s of the iterator as the place in this `Change`
where the output [Bell] should come from.  Therefore, this has no requirement that the
iterator represents a permutation - it could well contain duplicate [Bell]s, in which case
the output will also contain duplicate [Bell]s in the same locations.
Multiplies a given ` Change ` with an iterator of [ Bell ] s ( see [ Change :: multiply ] for more details about how multiplication of permutations works ) . This is the same as [ multiply_iterator ] ( Change :: multiply_iterator ) except that this will return another iterator rather than a ` Change ` . Conceptually this is treating the [ Bell ] s of the iterator as the place in this ` Change ` where the output [ Bell ] should come from . Therefore this has no requirement that the iterator represents a permutation - it could well contain duplicate [ Bell ] s in which case the output will also contain duplicate [ Bell ] s in the same locations .
pub fn transfigure_iterator<'a>(
        &'a self,
        rhs: impl Iterator<Item = Bell> + 'a,
    ) -> impl Iterator<Item = Bell> + 'a {
        rhs.map(move |b| self.seq[b.as_usize()])
    }
pub fn transfigure_iterator < ' a > ( & ' a self , rhs : impl Iterator < Item = Bell > + ' a , ) -> impl Iterator < Item = Bell > + ' a { rhs . map ( move | b | self . seq [ b . as_usize ( ) ] ) }
Multiplies a given `Change` with an iterator of [Bell]s (see [Change::multiply] for more
details about how multiplication of permutations works).
Multiplies a given ` Change ` with an iterator of [ Bell ] s ( see [ Change :: multiply ] for more details about how multiplication of permutations works ) .
&'a self
rhs
impl Iterator<Item = Bell> + 'a
&'a self
rhs
impl Iterator<Item = Bell> + 'a
examples
```
use bellmetal::{Bell, Change, Transposition}.



let mut new_iterator = part_head.transfigure_iterator(c.iter()).

assert_eq!(new_iterator.next(), Some(Bell::from('7')));
assert_eq!(new_iterator.next(), Some(Bell::from('6')));
assert_eq!(new_iterator.next(), Some(Bell::from('5')));
assert_eq!(new_iterator.next(), None);
```
` ` ` use bellmetal :: { Bell Change Transposition } . let mut new_iterator = part_head . transfigure_iterator ( c . iter () ) . assert_eq! ( new_iterator . next () Some ( Bell :: from ( ' 7 ' ))) ; assert_eq! ( new_iterator . next () Some ( Bell :: from ( ' 6 ' ))) ; assert_eq! ( new_iterator . next () Some ( Bell :: from ( ' 5 ' ))) ; assert_eq! ( new_iterator . next () None ) ; ` ` `