Index
IdentifiableSet.swift:27struct Index
struct Index
import Basics
struct IdentifiableSet<Element> where Element : Identifiable
Replacement for Set
elements that can’t be Hashable
, but can be Identifiable
.
init()
init(_ sequence: some Sequence<Element>)
var endIndex: Index { get }
var startIndex: Index { get }
subscript(position: Index) -> Element { get }
subscript(id: Element.ID) -> Element? { get set }
func contains(id: Element.ID) -> Bool
mutating func formUnion(_ otherSequence: some Sequence<Element>)
func index(after i: Index) -> Index
mutating func insert(_ element: Element)
func intersection(_ otherSequence: some Sequence<Element>) -> IdentifiableSet<Element>
func subtracting(_ otherSequence: some Sequence<Element>) -> IdentifiableSet<Element>
func union(_ otherSequence: some Sequence<Element>) -> IdentifiableSet<Element>
protocol Comparable : Equatable
A type that can be compared using the relational operators <
, <=
, >=
, and >
.
protocol Equatable
A type that can be compared for value equality.
static func < (lhs: IdentifiableSet<Element>.Index, rhs: IdentifiableSet<Element>.Index) -> Bool
static func != (lhs: Self, rhs: Self) -> Bool
Returns a Boolean value indicating whether two values are not equal.
static func ... (minimum: Self) -> PartialRangeFrom<Self>
Returns a partial range extending upward from a lower bound.
static func ... (maximum: Self) -> PartialRangeThrough<Self>
Returns a partial range up to, and including, its upper bound.
static func ... (minimum: Self, maximum: Self) -> ClosedRange<Self>
Returns a closed range that contains both of its bounds.
static func ..< (maximum: Self) -> PartialRangeUpTo<Self>
Returns a partial range up to, but not including, its upper bound.
static func ..< (minimum: Self, maximum: Self) -> Range<Self>
Returns a half-open range that contains its lower bound but not its upper bound.
static func <= (lhs: Self, rhs: Self) -> Bool
Returns a Boolean value indicating whether the value of the first argument is less than or equal to that of the second argument.
static func > (lhs: Self, rhs: Self) -> Bool
Returns a Boolean value indicating whether the value of the first argument is greater than that of the second argument.
static func >= (lhs: Self, rhs: Self) -> Bool
Returns a Boolean value indicating whether the value of the first argument is greater than or equal to that of the second argument.