Returns a Boolean value indicating whether this sequence and another sequence contain equivalent elements in the same order, using the given predicate as the equivalence test.
SDK
- Xcode 11.0+
Framework
- Swift Standard Library
Declaration
func elementsEqual<OtherSequence>(_ other: OtherSequence, by areEquivalent: (CollectionDifference <ChangeElement>.Change, OtherSequence.Element) throws -> Bool) rethrows -> Bool where OtherSequence : Sequence
Parameters
otherA sequence to compare to this sequence.
areEquivalentA predicate that returns
trueif its two arguments are equivalent; otherwise,false.
Return Value
true if this sequence and other contain equivalent items, using are as the equivalence test; otherwise, false.
Discussion
At least one of the sequences must be finite.
The predicate must be a equivalence relation over the elements. That is, for any elements a, b, and c, the following conditions must hold:
Complexity: O(m), where m is the lesser of the length of the sequence and the length of other.
areis alwaysEquivalent(a, a) true. (Reflexivity)areimpliesEquivalent(a, b) are. (Symmetry)Equivalent(b, a) If
areandEquivalent(a, b) areare bothEquivalent(b, c) true, thenareis alsoEquivalent(a, c) true. (Transitivity)