grype/internal/stringset.go
2020-07-15 07:17:21 -04:00

30 lines
440 B
Go

package internal
type StringSet map[string]struct{}
func NewStringSet() StringSet {
return make(StringSet)
}
func (s StringSet) Add(i string) {
s[i] = struct{}{}
}
func (s StringSet) Remove(i string) {
delete(s, i)
}
func (s StringSet) Contains(i string) bool {
_, ok := s[i]
return ok
}
func (s StringSet) ToSlice() []string {
ret := make([]string, len(s))
idx := 0
for v := range s {
ret[idx] = v
idx++
}
return ret
}