diff options
author | ale <ale@incal.net> | 2017-12-18 22:35:16 +0000 |
---|---|---|
committer | ale <ale@incal.net> | 2017-12-18 22:35:16 +0000 |
commit | 445bf898d2015d1e28e5f01ef07b26be9dd42bf1 (patch) | |
tree | 05bae03d8625be5dee79ac408cf96b6ffae97840 /vendor/github.com/syndtr/goleveldb/leveldb/util/range.go | |
parent | 394de2d98a9cfde6244620f0b188625b60f68f96 (diff) | |
download | crawl-445bf898d2015d1e28e5f01ef07b26be9dd42bf1.tar.gz crawl-445bf898d2015d1e28e5f01ef07b26be9dd42bf1.zip |
Add vendor deps
Diffstat (limited to 'vendor/github.com/syndtr/goleveldb/leveldb/util/range.go')
-rw-r--r-- | vendor/github.com/syndtr/goleveldb/leveldb/util/range.go | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/vendor/github.com/syndtr/goleveldb/leveldb/util/range.go b/vendor/github.com/syndtr/goleveldb/leveldb/util/range.go new file mode 100644 index 0000000..8515958 --- /dev/null +++ b/vendor/github.com/syndtr/goleveldb/leveldb/util/range.go @@ -0,0 +1,32 @@ +// Copyright (c) 2014, Suryandaru Triandana <syndtr@gmail.com> +// All rights reserved. +// +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +package util + +// Range is a key range. +type Range struct { + // Start of the key range, include in the range. + Start []byte + + // Limit of the key range, not include in the range. + Limit []byte +} + +// BytesPrefix returns key range that satisfy the given prefix. +// This only applicable for the standard 'bytes comparer'. +func BytesPrefix(prefix []byte) *Range { + var limit []byte + for i := len(prefix) - 1; i >= 0; i-- { + c := prefix[i] + if c < 0xff { + limit = make([]byte, i+1) + copy(limit, prefix) + limit[i] = c + 1 + break + } + } + return &Range{prefix, limit} +} |