// External includes.
// Standard includes.
// Internal includes.
use Portal;
/// An iterator over immutable 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 portals_source = Vec::<Portal>::new();
/// let mut local_facings = Vec::new();
/// let portals = Portals::new(&portals_source);
/// for portal in portals {
/// // Store the local facing of each `Portal` as it exits into the target map.
/// local_facings.push(*portal.portal_to_map_facing());
/// }
/// ```