package syncx
import (
)
type Map[ any, any] struct {
m sync.Map
}
func ( *Map[, ]) ( ) {
.m.Delete()
}
func ( *Map[, ]) ( ) ( , bool) {
, := .m.Load()
if {
, _ = .()
}
return
}
func ( *Map[, ]) ( ) ( , bool) {
, := .m.LoadAndDelete()
if {
, _ = .()
}
return
}
func ( *Map[, ]) ( , ) ( , bool) {
, := .m.LoadOrStore(, )
if {
, _ = .()
} else {
=
}
return
}
func ( *Map[, ]) ( func( , ) bool) {
.m.Range(func(, any) bool {
, := .()
, := .()
return (, )
})
}
func ( *Map[, ]) ( , ) {
.m.Store(, )
}