diff options
author | Luke Shumaker <lukeshu@lukeshu.com> | 2022-07-13 20:16:46 -0600 |
---|---|---|
committer | Luke Shumaker <lukeshu@lukeshu.com> | 2022-07-13 21:52:30 -0600 |
commit | db7047c394edbcc713accda2a15f201a5b400ef7 (patch) | |
tree | 0b8fb9c1b4176af762422197cca721145cda91a6 /lib/containers | |
parent | 166e51d3a6f81834cc89aec36015f05f350be31e (diff) |
Misc tidy up
Diffstat (limited to 'lib/containers')
-rw-r--r-- | lib/containers/ordered.go | 21 | ||||
-rw-r--r-- | lib/containers/syncmap.go | 8 |
2 files changed, 13 insertions, 16 deletions
diff --git a/lib/containers/ordered.go b/lib/containers/ordered.go index c5a3ec5..038edf8 100644 --- a/lib/containers/ordered.go +++ b/lib/containers/ordered.go @@ -8,17 +8,6 @@ import ( "golang.org/x/exp/constraints" ) -func CmpUint[T constraints.Unsigned](a, b T) int { - switch { - case a < b: - return -1 - case a == b: - return 0 - default: - return 1 - } -} - type Ordered[T interface{ Cmp(T) int }] interface { Cmp(T) int } @@ -27,15 +16,19 @@ type NativeOrdered[T constraints.Ordered] struct { Val T } -func (a NativeOrdered[T]) Cmp(b NativeOrdered[T]) int { +func NativeCmp[T constraints.Ordered](a, b T) int { switch { - case a.Val < b.Val: + case a < b: return -1 - case a.Val > b.Val: + case a > b: return 1 default: return 0 } } +func (a NativeOrdered[T]) Cmp(b NativeOrdered[T]) int { + return NativeCmp(a.Val, b.Val) +} + var _ Ordered[NativeOrdered[int]] = NativeOrdered[int]{} diff --git a/lib/containers/syncmap.go b/lib/containers/syncmap.go index 6c26b85..fb7f59b 100644 --- a/lib/containers/syncmap.go +++ b/lib/containers/syncmap.go @@ -12,7 +12,9 @@ type SyncMap[K comparable, V any] struct { inner sync.Map } -func (m *SyncMap[K, V]) Delete(key K) { m.inner.Delete(key) } +func (m *SyncMap[K, V]) Delete(key K) { + m.inner.Delete(key) +} func (m *SyncMap[K, V]) Load(key K) (value V, ok bool) { _value, ok := m.inner.Load(key) if ok { @@ -37,4 +39,6 @@ func (m *SyncMap[K, V]) Range(f func(key K, value V) bool) { return f(key.(K), value.(V)) }) } -func (m *SyncMap[K, V]) Store(key K, value V) { m.inner.Store(key, value) } +func (m *SyncMap[K, V]) Store(key K, value V) { + m.inner.Store(key, value) +} |