1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
|
Source: golang-github-bradenaw-juniper
Section: golang
Priority: optional
Maintainer: Debian Go Packaging Team <team+pkg-go@tracker.debian.org>
Uploaders: Maytham Alsudany <maytha8thedev@gmail.com>
Rules-Requires-Root: no
Build-Depends:
debhelper-compat (= 13),
dh-golang,
golang-any,
golang-golang-x-exp-dev,
golang-golang-x-sync-dev,
Testsuite: autopkgtest-pkg-go
Standards-Version: 4.6.2
Vcs-Browser: https://salsa.debian.org/go-team/packages/golang-github-bradenaw-juniper
Vcs-Git: https://salsa.debian.org/go-team/packages/golang-github-bradenaw-juniper.git
Homepage: https://github.com/bradenaw/juniper
XS-Go-Import-Path: github.com/bradenaw/juniper
Package: golang-github-bradenaw-juniper-dev
Architecture: all
Multi-Arch: foreign
Depends:
golang-golang-x-exp-dev,
golang-golang-x-sync-dev,
${misc:Depends},
Description: extension to the Go standard library (library)
Juniper is a library of extensions to the Go standard library using generics,
including containers, iterators, and streams.
.
- `container/tree` contains a `Map` and `Set` that keep elements in sorted
order. They are implemented using a B-tree, which performs better than a
binary search tree.
- `container/deque` contains a double-ended queue implemented with a ring
buffer.
- `container/xheap` contains a min-heap similar to the standard library's
`container/heap` but more ergonomic, along with a `PriorityQueue` that
allows setting priorities by key.
- `container/xlist` contains a linked-list similar to the standard library's
`container/list`, but type-safe.
- `xslices` contains some commonly-used slice operations, like `Chunk`,
`Reverse`, `Clear`, and `Join`.
- `iterator` contains an iterator interface used by the containers, along
with functions to manipulate them, like `Map`, `While`, and `Reduce`.
- `stream` contains a stream interface, which is an iterator that can fail.
Useful for iterating over collections that require I/O. It has most of the
same combinators as `iterator`, plus some extras like `Pipe` and `Batch`.
- `parallel` contains some shorthand for common uses of goroutines to process
slices, iterators, and streams in parallel, like `parallel.MapStream`.
- `xsort` contains extensions to the standard library package `sort`.
Notably, it also has the definition for `xsort.Less`, which is how custom
orderings can be defined for sorting and also for ordered collections like
from `container/tree`.
- You can probably guess what's in the packages `xerrors`, `xmath`,
`xmath/xrand`, `xsync`, and `xtime`.
.
Packages that overlap directly with a standard library package are named the
same but with an `x` prefix for "extensions", e.g. `sort` and `xsort`.
.
See the docs at https://pkg.go.dev/github.com/bradenaw/juniper for more.
|