0
0
Fork 0
mirror of https://github.com/go-gitea/gitea synced 2024-11-05 21:59:20 +01:00
gitea/vendor/github.com/RoaringBitmap/roaring/manyiterator.go
2018-05-19 20:49:46 +08:00

23 lines
348 B
Go

package roaring
type manyIterable interface {
nextMany(hs uint32, buf []uint32) int
}
type manyIterator struct {
slice []uint16
loc int
}
func (si *manyIterator) nextMany(hs uint32, buf []uint32) int {
n := 0
l := si.loc
s := si.slice
for n < len(buf) && l < len(s) {
buf[n] = uint32(s[l]) | hs
l++
n++
}
si.loc = l
return n
}