Skip to content

Commit 24b6922

Browse files
committed
Mark r_vector::const_iterator::operator* as const
Fixes #113
1 parent 3c65bc5 commit 24b6922

File tree

3 files changed

+6
-6
lines changed

3 files changed

+6
-6
lines changed

inst/include/cpp11/list.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ inline void r_vector<SEXP>::const_iterator::fill_buf(R_xlen_t) {
5252
}
5353

5454
template <>
55-
inline SEXP r_vector<SEXP>::const_iterator::operator*() {
55+
inline SEXP r_vector<SEXP>::const_iterator::operator*() const {
5656
return VECTOR_ELT(data_->data(), pos_);
5757
}
5858

inst/include/cpp11/r_vector.hpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@ class r_vector {
155155
inline bool operator!=(const const_iterator& other) const;
156156
inline bool operator==(const const_iterator& other) const;
157157

158-
inline T operator*();
158+
inline T operator*() const;
159159

160160
friend class writable::r_vector<T>::iterator;
161161

@@ -265,7 +265,7 @@ class r_vector : public cpp11::r_vector<T> {
265265

266266
inline iterator& operator++();
267267

268-
inline proxy operator*();
268+
inline proxy operator*() const;
269269

270270
using cpp11::r_vector<T>::const_iterator::operator!=;
271271

@@ -554,7 +554,7 @@ inline typename cpp11::r_vector<T>::const_iterator cpp11::r_vector<T>::find(
554554
}
555555

556556
template <typename T>
557-
inline T r_vector<T>::const_iterator::operator*() {
557+
inline T r_vector<T>::const_iterator::operator*() const {
558558
if (data_->is_altrep()) {
559559
return buf_[pos_ - block_start_];
560560
} else {
@@ -586,7 +586,7 @@ r_vector<T>::proxy::proxy(SEXP data, const R_xlen_t index, T* const p, bool is_a
586586
: data_(data), index_(index), p_(p), is_altrep_(is_altrep) {}
587587

588588
template <typename T>
589-
inline typename r_vector<T>::proxy r_vector<T>::iterator::operator*() {
589+
inline typename r_vector<T>::proxy r_vector<T>::iterator::operator*() const {
590590
if (data_.is_altrep()) {
591591
return proxy(data_.data(), pos_, &buf_[pos_ - block_start_], true);
592592
} else {

inst/include/cpp11/strings.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ inline void r_vector<r_string>::const_iterator::fill_buf(R_xlen_t) {
4141
}
4242

4343
template <>
44-
inline r_string r_vector<r_string>::const_iterator::operator*() {
44+
inline r_string r_vector<r_string>::const_iterator::operator*() const {
4545
return STRING_ELT(data_->data(), pos_);
4646
}
4747

0 commit comments

Comments
 (0)