github.com/balzaczyy/golucene@v0.0.0-20151210033525-d0be9ee89713/core/util/packed/reader.go (about) 1 package packed 2 3 import ( 4 "github.com/balzaczyy/golucene/core/util" 5 ) 6 7 /* A reader which has all its values equal to 0 (bitsPerValue = 0). */ 8 type NilReader struct { 9 valueCount int 10 } 11 12 func newNilReader(valueCount int) *NilReader { 13 return &NilReader{ 14 valueCount: valueCount, 15 } 16 } 17 18 func (r *NilReader) Get(int) int64 { return 0 } 19 20 func (r *NilReader) getBulk(index int, arr []int64) int { 21 length := len(arr) 22 assert2(length > 0, "len must be > 0 (got %v)", length) 23 assert(index >= 0 && index < r.valueCount) 24 if r.valueCount-index < length { 25 length = r.valueCount - index 26 } 27 for i, _ := range arr { 28 arr[i] = 0 29 } 30 return length 31 } 32 33 func (r *NilReader) Size() int { 34 return r.valueCount 35 } 36 37 func (r *NilReader) RamBytesUsed() int64 { 38 return util.AlignObjectSize(util.NUM_BYTES_OBJECT_HEADER + util.NUM_BYTES_INT) 39 }