mirror of
https://github.com/octoleo/restic.git
synced 2024-12-25 20:11:06 +00:00
31 lines
521 B
Go
31 lines
521 B
Go
package backend
|
|
|
|
// IDSet is a set of IDs.
|
|
type IDSet map[ID]struct{}
|
|
|
|
// NewIDSet returns a new IDSet, populated with ids.
|
|
func NewIDSet(ids ...ID) IDSet {
|
|
m := make(IDSet)
|
|
for _, id := range ids {
|
|
m[id] = struct{}{}
|
|
}
|
|
|
|
return m
|
|
}
|
|
|
|
// Has returns true iff id is contained in the set.
|
|
func (s IDSet) Has(id ID) bool {
|
|
_, ok := s[id]
|
|
return ok
|
|
}
|
|
|
|
// Insert adds id to the set.
|
|
func (s IDSet) Insert(id ID) {
|
|
s[id] = struct{}{}
|
|
}
|
|
|
|
// Delete removes id from the set.
|
|
func (s IDSet) Delete(id ID) {
|
|
delete(s, id)
|
|
}
|