pub fn with_flags(
        polytope: &'a Abstract,
        flag_changes: FlagChanges,
        first_flag: OrientedFlag,
    ) -> Self {
        assert_sorted(polytope);

        // Initializes found flags.
        let mut found = HashMap::new();
        found.insert(first_flag.clone(), 0);

        // Initializes queue.
        let mut queue = VecDeque::new();
        queue.push_back(first_flag);

        Self {
            polytope,
            queue,
            flag_changes,
            flag_idx: 0,
            first: false,
            found,
            orientable: true,
        }
    }
/// Initializes a new iterator over the flag events of a polytope, starting
/// from a specified flag and applying a given set of flag changes.
///
/// # Panics
/// You must call [`Polytope::element_sort`] before calling this method.
Initializes a new iterator over the flag events of a polytope, starting
from a specified flag and applying a given set of flag changes.
Initializes a new iterator over the flag events of a polytope starting from a specified flag and applying a given set of flag changes .
pub fn with_flags(
        polytope: &'a Abstract,
        flag_changes: FlagChanges,
        first_flag: OrientedFlag,
    ) -> Self {
        assert_sorted(polytope);
        // Initializes found flags.
        let mut found = HashMap::new();
        found.insert(first_flag.clone(), 0);
        // Initializes queue.
        let mut queue = VecDeque::new();
        queue.push_back(first_flag);
        Self {
            polytope,
            queue,
            flag_changes,
            flag_idx: 0,
            first: false,
            found,
            orientable: true,
        }
    }
pub fn with_flags ( polytope : & ' a Abstract , flag_changes : FlagChanges , first_flag : OrientedFlag , ) -> Self { assert_sorted ( polytope ) ; // Initializes found flags. let mut found = HashMap :: new ( ) ; found . insert ( first_flag . clone ( ) , 0 ) ; // Initializes queue. let mut queue = VecDeque :: new ( ) ; queue . push_back ( first_flag ) ; Self { polytope , queue , flag_changes , flag_idx : 0 , first : false , found , orientable : true , } }
Initializes a new iterator over the flag events of a polytope, starting
from a specified flag and applying a given set of flag changes.
Initializes a new iterator over the flag events of a polytope starting from a specified flag and applying a given set of flag changes .
polytope
&'a Abstract
flag_changes
FlagChanges
first_flag
OrientedFlag
polytope
&'a Abstract
flag_changes
FlagChanges
first_flag
OrientedFlag
panics
You must call [`Polytope::element_sort`] before calling this method.
You must call [ ` Polytope :: element_sort ` ] before calling this method .