Swiftpack.co -  Package - DavidSkrundz/Collections
Swiftpack.co is a collection of thousands of indexed Swift packages. Search packages.
DavidSkrundz/Collections
Various Collections and Data Structures
.package(url: "https://github.com/DavidSkrundz/Collections.git", from: "2.0.0")

Collections

Various Collections and Data Structures

Importing

import Generator
import Graph
import Pair
dependencies: [
	.package(url: "https://github.com/DavidSkrundz/Collections.git",
	         from: "2.0.0")
],
targets: [
	.target(
		name: "",
		dependencies: [
			"Generator", "Graph", "Pair"
		]),
]

Generator

Implements to Iterator but also allows reversing (previous() -> Element?)

Graph

A basic graph class that implements:

func neighbours(of vertex: Vertex<T>) -> [Vertex<T>]
func reachable(from vertex: Vertex<T>) -> [Vertex<T>]
reachable(from vertex: Vertex<T>, where canReach: (_ distance: Int, _ edge: U?) -> Bool) -> [Vertex<T>]

pair(_:_:)

Like zip(_:_:) but returns a Sequence containing the cartesian product (all pairs) of the two sequences

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