order

package
v0.14.0 Latest Latest
Warning

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

Go to latest
Published: Apr 24, 2024 License: Apache-2.0 Imports: 3 Imported by: 0

Documentation

Index

Constants

View Source
const (
	Lowest  = int(^uint(0) >> 1) // max int
	Highest = -Lowest - 1        // min int
)

Variables

This section is empty.

Functions

func OrderedFirstCompare

func OrderedFirstCompare(left interface{}, right interface{}) bool

OrderedFirstCompare compares objects based on order interfaces with following rule - PriorityOrdered wins over other types - Ordered wins over non- PriorityOrdered - Same category will compare its corresponding order value

func OrderedFirstCompareReverse

func OrderedFirstCompareReverse(left interface{}, right interface{}) bool

OrderedFirstCompareReverse compares objects based on order interfaces with same rule as OrderedFirstCompare but reversed

func OrderedLastCompare

func OrderedLastCompare(left interface{}, right interface{}) bool

OrderedLastCompare compares objects based on order interfaces with following rule - Regular object (neither PriorityOrdered nor Ordered) wins over other types - PriorityOrdered wins over Ordered - Same category will compare its corresponding order value

func OrderedLastCompareReverse

func OrderedLastCompareReverse(left interface{}, right interface{}) bool

OrderedLastCompareReverse compares objects based on order interfaces with same rule as OrderedLastCompare but reversed

func Sort

func Sort(slice interface{}, compareFunc CompareFunc)

Sort wraps sort.Slice with LessFunc constructed from given CompareFunc using reflect function panic if given interface is not slice

func SortStable

func SortStable(slice interface{}, compareFunc CompareFunc)

SortStable wraps sort.SliceStable with LessFunc constructed from given CompareFunc using reflect function panic if given interface is not slice

func UnorderedMiddleCompare

func UnorderedMiddleCompare(left interface{}, right interface{}) bool

UnorderedMiddleCompare compares objects based on order interfaces with following rule - PriorityOrdered wins over other types - Regular object (neither PriorityOrdered nor Ordered) wins Ordered - Ordered at last - Same category will compare its corresponding order value

func UnorderedMiddleCompareReverse

func UnorderedMiddleCompareReverse(left interface{}, right interface{}) bool

UnorderedMiddleCompareReverse compares objects based on order interfaces with same rule as UnorderedMiddleCompare but reversed

Types

type CompareFunc

type CompareFunc func(left interface{}, right interface{}) bool

CompareFunc is used to compare two interface's order,

type LessFunc

type LessFunc func(i, j int) bool

LessFunc is accepted less func by sort.Slice and sort.SliceStable

type Ordered

type Ordered interface {
	Order() int
}

type PriorityOrdered

type PriorityOrdered interface {
	PriorityOrder() int
}

Jump to

Keyboard shortcuts

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