unique

package
v1.2.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 27, 2023 License: Apache-2.0 Imports: 1 Imported by: 0

Documentation

Overview

Package unique provides primitives for finding unique elements of types that implement sort.Interface.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Float64s

func Float64s(a *[]float64)

Float64s removes duplicate elements from a sorted slice of float64s.

func Float64sAreUnique

func Float64sAreUnique(a []float64) bool

Float64sAreUnique tests whether a slice of float64s is sorted and its elements are unique.

func Ints

func Ints(a *[]int)

Ints removes duplicate elements from a sorted slice of ints.

func IntsAreUnique

func IntsAreUnique(a []int) bool

IntsAreUnique tests whether a slice of ints is sorted and its elements are unique.

func IsUniqued

func IsUniqued(data sort.Interface) bool

IsUniqued reports whether the elements in data are sorted and unique.

func Sort

func Sort(data Interface)

Sort sorts and removes duplicate entries from data.

func Strings

func Strings(a *[]string)

Strings removes duplicate elements from a sorted slice of strings.

func StringsAreUnique

func StringsAreUnique(a []string) bool

StringsAreUnique tests whether a slice of strings is sorted and its elements are unique.

func ToFront

func ToFront(data sort.Interface) (n int)

ToFront reports the number of unique elements of data which it moves to the first n positions. It assumes sort.IsSorted(data).

func Unique

func Unique(data Interface)

Unique removes duplicate elements from data. It assumes sort.IsSorted(data).

Types

type Float64Slice

type Float64Slice struct{ P *[]float64 }

Float64Slice attaches the methods of Interface to []float64.

func (Float64Slice) Len

func (p Float64Slice) Len() int

func (Float64Slice) Less

func (p Float64Slice) Less(i, j int) bool

func (Float64Slice) Swap

func (p Float64Slice) Swap(i, j int)

func (Float64Slice) Truncate

func (p Float64Slice) Truncate(n int)

type IntSlice

type IntSlice struct{ P *[]int }

IntSlice attaches the methods of Interface to []int.

func (IntSlice) Len

func (p IntSlice) Len() int

func (IntSlice) Less

func (p IntSlice) Less(i, j int) bool

func (IntSlice) Swap

func (p IntSlice) Swap(i, j int)

func (IntSlice) Truncate

func (p IntSlice) Truncate(n int)

type Interface

type Interface interface {
	sort.Interface

	// Truncate reduces the length to the first n elements.
	Truncate(n int)
}

Types that implement unique.Interface can have duplicate elements removed by the functionality in this package.

type StringSlice

type StringSlice struct{ P *[]string }

StringSlice attaches the methods of Interface to []string.

func (StringSlice) Len

func (p StringSlice) Len() int

func (StringSlice) Less

func (p StringSlice) Less(i, j int) bool

func (StringSlice) Swap

func (p StringSlice) Swap(i, j int)

func (StringSlice) Truncate

func (p StringSlice) Truncate(n int)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL