Documentation ¶
Index ¶
- Constants
- func OrderedFirstCompare(left interface{}, right interface{}) bool
- func OrderedFirstCompareReverse(left interface{}, right interface{}) bool
- func OrderedLastCompare(left interface{}, right interface{}) bool
- func OrderedLastCompareReverse(left interface{}, right interface{}) bool
- func Sort(slice interface{}, compareFunc CompareFunc)
- func SortStable(slice interface{}, compareFunc CompareFunc)
- func UnorderedMiddleCompare(left interface{}, right interface{}) bool
- func UnorderedMiddleCompareReverse(left interface{}, right interface{}) bool
- type CompareFunc
- type LessFunc
- type Ordered
- type PriorityOrdered
Constants ¶
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 PriorityOrdered ¶
type PriorityOrdered interface {
PriorityOrder() int
}