Files
docker-cli/components/engine/pkg/graphdb/sort.go
Solomon Hykes 10227320c8 Move utility package 'graphdb' to pkg/graphdb
Upstream-commit: d16d748132330ff58e142472a579d1f6c65e3eac
Component: engine
2013-12-23 23:33:06 +00:00

28 lines
478 B
Go

package graphdb
import "sort"
type pathSorter struct {
paths []string
by func(i, j string) bool
}
func sortByDepth(paths []string) {
s := &pathSorter{paths, func(i, j string) bool {
return PathDepth(i) > PathDepth(j)
}}
sort.Sort(s)
}
func (s *pathSorter) Len() int {
return len(s.paths)
}
func (s *pathSorter) Swap(i, j int) {
s.paths[i], s.paths[j] = s.paths[j], s.paths[i]
}
func (s *pathSorter) Less(i, j int) bool {
return s.by(s.paths[i], s.paths[j])
}