From 72a458520fccafe4df8c02c811cb6f64a310616e Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Wed, 13 Jul 2022 21:22:14 -0600 Subject: Move the remaining former-generic.go parts out of lib/util/ --- lib/maps/maputil.go | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 lib/maps/maputil.go (limited to 'lib/maps') diff --git a/lib/maps/maputil.go b/lib/maps/maputil.go new file mode 100644 index 0000000..aeebe12 --- /dev/null +++ b/lib/maps/maputil.go @@ -0,0 +1,25 @@ +// Copyright (C) 2022 Luke Shumaker +// +// SPDX-License-Identifier: GPL-2.0-or-later + +package maps + +import ( + "golang.org/x/exp/constraints" + + "git.lukeshu.com/btrfs-progs-ng/lib/slices" +) + +func Keys[K comparable, V any](m map[K]V) []K { + ret := make([]K, 0, len(m)) + for k := range m { + ret = append(ret, k) + } + return ret +} + +func SortedKeys[K constraints.Ordered, V any](m map[K]V) []K { + ret := Keys(m) + slices.Sort(ret) + return ret +} -- cgit v1.2.3-2-g168b