Swiftpack.co -  attaswift/Deque as Swift Package
Swiftpack.co is a collection of thousands of indexed Swift packages. Search packages.
A double-ended queue type in pure Swift
.package(url: "https://github.com/attaswift/Deque.git", from: "v3.1.1")

A Double-Ended Queue Type in Swift

Swift 4.2 License Platform

Build Status codecov.io

Carthage compatible CocoaPod Version

:warning: WARNING
This package has been obsoleted by the Deque type in the Swift Collections package. Using this older package in not recommended in new Swift code; I expect the double-ended queue implementation in Swift Collections to perform better and to provide a richer interface. It is also being actively maintained/updated by the Swift Standard Library team.

Deque<Element> implements a double-ended queue type. It's an Array-like random-access collection of arbitrary elements that provides efficient O(1) insertion and deletion at both ends.

Deques are structs and implement the same copy-on-write value semantics as standard collection types like Array and Dictionary.


Deque on the master branch is compatible with Swift 4.2.



If you use CocoaPods, you can start using Deque by including it as a dependency in your Podfile:

pod 'Deque', '~> 3.1'


For Carthage, add the following line to your Cartfile:

github "attaswift/Deque" ~> 3.1

Swift Package Manager

For Swift Package Manager, add SipHash to the dependencies list inside your Package.swift file:

import PackageDescription

let package = Package(
    name: "MyPackage",
    dependencies: [
        .Package(url: "https://github.com/attaswift/SipHash.git", from: "3.1.1")


Stars: 67
Last commit: 1 week ago

Ad: Job Offers

iOS Software Engineer @ Perry Street Software
Perry Street Software is Jack’d and SCRUFF. We are two of the world’s largest gay, bi, trans and queer social dating apps on iOS and Android. Our brands reach more than 20 million members worldwide so members can connect, meet and express themselves on a platform that prioritizes privacy and security. We invest heavily into SwiftUI and using Swift Packages to modularize the codebase.

Release Notes

2 years ago

This release updates the project for Swift 4.2 compatibility.

  • Disable CountableRange overloads in Swift 4.2 and above (#2, contributed by@kmiloaguilar)
  • Fix typo by renaming removeAll(keepCapacity:) to removeAll(keepingCapacity:). The old name is still available through a deprecated compatibility definition.
  • Fix deprecation warnings emitted by the Swift 4.1 and 4.2 compilers.

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