pub(crate) fn add_frame(&mut self, other: &Self) -> Result<bool, AcesError> {
        if self.polarity == other.polarity {
            // FIXME optimize.  There are two special cases: when
            // `self` is a superframe, and when it is a subframe of
            // `other`.  First case is a nop; the second: clear
            // followed by clone.

            let mut changed = false;

            for pit in other.iter() {
                if self.add_pit_sorted(pit)? {
                    changed = true;
                }
            }

            Ok(changed)
        } else {
            Err(AcesErrorKind::FramePolarityMismatch.into())
        }
    }
/// Adds another `Frame` to this frame.
///
/// On success, returns `true` if this frame changed or `false` if
/// it didn't, due to idempotency of addition.
///
/// Returns error in case of port mismatch, or if context mismatch
/// was detected.
Adds another `Frame` to this frame.
On success, returns `true` if this frame changed or `false` if
it didn't, due to idempotency of addition.

Returns error in case of port mismatch, or if context mismatch
was detected.
Adds another ` Frame ` to this frame . On success returns ` true ` if this frame changed or ` false ` if it didn ' t due to idempotency of addition . Returns error in case of port mismatch or if context mismatch was detected .
pub(crate) fn add_frame(&mut self, other: &Self) -> Result<bool, AcesError> {
        if self.polarity == other.polarity {
            // FIXME optimize.  There are two special cases: when
            // `self` is a superframe, and when it is a subframe of
            // `other`.  First case is a nop; the second: clear
            // followed by clone.
            let mut changed = false;
            for pit in other.iter() {
                if self.add_pit_sorted(pit)? {
                    changed = true;
                }
            }
            Ok(changed)
        } else {
            Err(AcesErrorKind::FramePolarityMismatch.into())
        }
    }
pub ( crate ) fn add_frame ( & mut self , other : & Self ) -> Result < bool , AcesError > { if self . polarity == other . polarity { // FIXME optimize.  There are two special cases: when // `self` is a superframe, and when it is a subframe of // `other`.  First case is a nop; the second: clear // followed by clone. let mut changed = false ; for pit in other . iter ( ) { if self . add_pit_sorted ( pit ) ? { changed = true ; } } Ok ( changed ) } else { Err ( AcesErrorKind :: FramePolarityMismatch . into ( ) ) } }
Adds another `Frame` to this frame.
Adds another ` Frame ` to this frame .
&mut self
other
&Self
&mut self
other
&Self