Generic Instance Method

starts(with:by:)

Returns a Boolean value indicating whether the initial elements of the sequence are equivalent to the elements in another sequence, using the given predicate as the equivalence test.

Declaration

func starts<PossiblePrefix>(with possiblePrefix: PossiblePrefix, by areEquivalent: (UInt8, PossiblePrefix.Element) throws -> Bool) rethrows -> Bool where PossiblePrefix : Sequence

Parameters

possiblePrefix

A sequence to compare to this sequence.

areEquivalent

A predicate that returns true if its two arguments are equivalent; otherwise, false.

Return Value

true if the initial elements of the sequence are equivalent to the elements of possiblePrefix; otherwise, false. If possiblePrefix has no elements, the return value is true.

Discussion

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 possiblePrefix.

  • areEquivalent(a, a) is always true. (Reflexivity)

  • areEquivalent(a, b) implies areEquivalent(b, a). (Symmetry)

  • If areEquivalent(a, b) and areEquivalent(b, c) are both true, then areEquivalent(a, c) is also true. (Transitivity)

Beta Software

This documentation contains preliminary information about an API or technology in development. This information is subject to change, and software implemented according to this documentation should be tested with final operating system software.

Learn more about using Apple's beta software