// External includes.
// Standard includes.
// Internal includes.
use Portal;
/// An iterator over mutable references to [`Portal`](struct.Portal.html).
///
/// The following is a basic example of abstracted functionality.
/// ```
/// # use dungen_minion_rooms_abstract::*;
/// # use dungen_minion_rooms_abstract::geometry::*;
/// # let mut portals_source = Vec::<Portal>::new();
/// let mut portals_mut = PortalsMut::new(&mut portals_source);
/// for portal_mut in portals_mut {
/// // Rotate all of the maps at the ends of the portals 90 degrees to the right.
/// *portal_mut.portal_to_map_facing_mut() =
/// *portal_mut.portal_to_map_facing() + CardinalRotation::Right90;
/// }
/// ```