Swiftpack.co - apple/swift-se0270-range-set as Swift Package

Swiftpack.co is a collection of thousands of indexed Swift packages. Search packages.
See all packages published by apple.
apple/swift-se0270-range-set 1.0.1
Swift Evolution preview package for SE-0270.
⭐️ 19
🕓 2 years ago
.package(url: "https://github.com/apple/swift-se0270-range-set.git", from: "1.0.1")


SE0270_RangeSet is a standalone library that implements the Swift Evolution proposal SE-0270: Add Collection Operations on Noncontiguous Elements. You can use this package independently, or as part of the standard library preview package.


SE0270_RangeSet provides operations on noncontiguous subranges of collections, such as subranges(where:) and moveSubranges(_:to:), as well as the supporting RangeSet type.

import SE0270_RangeSet

var numbers = [10, 12, -5, 14, -3, -9, 15]
let negatives = numbers.subranges(where: { $0 < 0 })
// numbers[negatives].count == 3

numbers.moveSubranges(negatives, to: 0)
// numbers == [-5, -3, -9, 10, 12, 14, 15]


You can add this library as a dependency to any Swift package. Add this line to the dependencies parameter in your Package.swift file:

    url: "https://github.com/apple/swift-se0270-range-set",
    from: "1.0.0"),

Next, add the module as a dependency for your targets that will use the library:

.product(name: "SE0270_RangeSet", package: "swift-se0270-range-set"),

You can now use import SE0270_RangeSet to make the library available in any Swift file.


Contributions to this package and the standard library preview package are welcomed and encouraged!


Stars: 19
Last commit: 4 weeks ago
Advertisement: IndiePitcher.com - Cold Email Software for Startups

Release Notes

Fix subscript setters
2 years ago


  • Adds a missing setter for DiscontinousSlice.subscript(bounds:)
  • Prevents out-of-bounds assignment when using the multiple-range setter for Collection.subscript(subranges:)

Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics