Address MS Visual Studio 2017 issue with autovector

Summary:
This addresses https://github.com/facebook/rocksdb/issues/2262
Closes https://github.com/facebook/rocksdb/pull/2333

Differential Revision: D5097941

Pulled By: siying

fbshipit-source-id: fb33582bfe7883ecc3f6da028703982522b5f75f
This commit is contained in:
Dmitri Smirnov 2017-05-22 10:53:11 -07:00 committed by Facebook Github Bot
parent 88c818e437
commit 15ba4d6c4b

View file

@ -98,16 +98,16 @@ class autovector {
return old;
}
self_type operator-(difference_type len) {
self_type operator-(difference_type len) const {
return self_type(vect_, index_ - len);
}
difference_type operator-(const self_type& other) {
difference_type operator-(const self_type& other) const {
assert(vect_ == other.vect_);
return index_ - other.index_;
}
self_type operator+(difference_type len) {
self_type operator+(difference_type len) const {
return self_type(vect_, index_ + len);
}
@ -126,11 +126,23 @@ class autovector {
assert(vect_->size() >= index_);
return (*vect_)[index_];
}
const_reference operator*() const {
assert(vect_->size() >= index_);
return (*vect_)[index_];
}
pointer operator->() {
assert(vect_->size() >= index_);
return &(*vect_)[index_];
}
const_pointer operator->() const {
assert(vect_->size() >= index_);
return &(*vect_)[index_];
}
// -- Logical Operators
bool operator==(const self_type& other) const {
assert(vect_ == other.vect_);