memberset.gno
0.75 Kb ยท 29 lines
1package commondao
2
3import "std"
4
5// NewMemberSet creates a new readonly memberset.
6func NewMemberSet(s MemberStorage) MemberSet {
7 return MemberSet{s}
8}
9
10// MemberSet contains a readonly list of member addresses.
11type MemberSet struct {
12 storage MemberStorage
13}
14
15// Size returns the number of addresses in the set.
16func (s MemberSet) Size() int {
17 return s.storage.Size()
18}
19
20// Has checks if an address exists in the set.
21func (s MemberSet) Has(member std.Address) bool {
22 return s.storage.Has(member)
23}
24
25// IterateByOffset walks through addresses starting at the given offset.
26// The callback should return true to stop iteration.
27func (s MemberSet) IterateByOffset(offset, count int, fn func(std.Address) bool) {
28 s.storage.IterateByOffset(offset, count, fn)
29}