aghalg

package
v0.107.6 Latest Latest
Warning

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

Go to latest
Published: Apr 13, 2022 License: GPL-3.0 Imports: 2 Imported by: 0

Documentation

Overview

Package aghalg contains common generic algorithms and data structures.

TODO(a.garipov): Update to use type parameters in Go 1.18.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func IntIsBefore

func IntIsBefore(a, b comparable) (less bool)

IntIsBefore is a helper sort function for UniqChecker.Validate. a and b must be of type int.

func StringIsBefore

func StringIsBefore(a, b comparable) (less bool)

StringIsBefore is a helper sort function for UniqChecker.Validate. a and b must be of type string.

Types

type UniqChecker

type UniqChecker map[comparable]int64

UniqChecker allows validating uniqueness of comparable items.

func (UniqChecker) Add

func (uc UniqChecker) Add(elems ...comparable)

Add adds a value to the validator. v must not be nil.

func (UniqChecker) Merge

func (uc UniqChecker) Merge(other UniqChecker) (merged UniqChecker)

Merge returns a checker containing data from both uc and other.

func (UniqChecker) Validate

func (uc UniqChecker) Validate(isBefore func(a, b comparable) (less bool)) (err error)

Validate returns an error enumerating all elements that aren't unique. isBefore is an optional sorting function to make the error message deterministic.

Jump to

Keyboard shortcuts

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