forked from forgejo/forgejo
Vendor Update: go-gitlab v0.22.1 -> v0.31.0 (#11136)
* vendor update: go-gitlab to v0.31.0 * migrate client init to v0.31.0 * refactor
This commit is contained in:
parent
5c092eb0ef
commit
82dbb34c9c
256 changed files with 36039 additions and 12965 deletions
58
vendor/google.golang.org/protobuf/internal/set/ints.go
generated
vendored
Normal file
58
vendor/google.golang.org/protobuf/internal/set/ints.go
generated
vendored
Normal file
|
@ -0,0 +1,58 @@
|
|||
// Copyright 2018 The Go Authors. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
// Package set provides simple set data structures for uint64s.
|
||||
package set
|
||||
|
||||
import "math/bits"
|
||||
|
||||
// int64s represents a set of integers within the range of 0..63.
|
||||
type int64s uint64
|
||||
|
||||
func (bs *int64s) Len() int {
|
||||
return bits.OnesCount64(uint64(*bs))
|
||||
}
|
||||
func (bs *int64s) Has(n uint64) bool {
|
||||
return uint64(*bs)&(uint64(1)<<n) > 0
|
||||
}
|
||||
func (bs *int64s) Set(n uint64) {
|
||||
*(*uint64)(bs) |= uint64(1) << n
|
||||
}
|
||||
func (bs *int64s) Clear(n uint64) {
|
||||
*(*uint64)(bs) &^= uint64(1) << n
|
||||
}
|
||||
|
||||
// Ints represents a set of integers within the range of 0..math.MaxUint64.
|
||||
type Ints struct {
|
||||
lo int64s
|
||||
hi map[uint64]struct{}
|
||||
}
|
||||
|
||||
func (bs *Ints) Len() int {
|
||||
return bs.lo.Len() + len(bs.hi)
|
||||
}
|
||||
func (bs *Ints) Has(n uint64) bool {
|
||||
if n < 64 {
|
||||
return bs.lo.Has(n)
|
||||
}
|
||||
_, ok := bs.hi[n]
|
||||
return ok
|
||||
}
|
||||
func (bs *Ints) Set(n uint64) {
|
||||
if n < 64 {
|
||||
bs.lo.Set(n)
|
||||
return
|
||||
}
|
||||
if bs.hi == nil {
|
||||
bs.hi = make(map[uint64]struct{})
|
||||
}
|
||||
bs.hi[n] = struct{}{}
|
||||
}
|
||||
func (bs *Ints) Clear(n uint64) {
|
||||
if n < 64 {
|
||||
bs.lo.Clear(n)
|
||||
return
|
||||
}
|
||||
delete(bs.hi, n)
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue