From cb980dbdcc26d187ebe8aad108022be9458be983 Mon Sep 17 00:00:00 2001 From: Sam Yates <halfflat@gmail.com> Date: Thu, 25 Aug 2016 17:35:10 +0200 Subject: [PATCH] *This* should be the fix for gcc 4.9.3. --- src/util/range.hpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/util/range.hpp b/src/util/range.hpp index 7777444d..2439ca74 100644 --- a/src/util/range.hpp +++ b/src/util/range.hpp @@ -87,9 +87,9 @@ struct range { std::swap(right, other.right); } - decltype(*left) front() const { return *left; } + auto front() const -> decltype(*left) { return *left; } - decltype(*left) back() const { return *upto(left, right); } + auto back() const -> decltype(*left) { return *upto(left, right); } template <typename V = iterator> enable_if_t<is_random_access_iterator<V>::value, decltype(*left)> @@ -200,7 +200,7 @@ public: // forward and input iterator requirements - auto operator*() const -> decltype(*iter()) { return *iter(); } + auto operator*() const -> decltype(*(this->iter())) { return *iter(); } I operator->() const { return e_.template ptr<0>(); } @@ -271,7 +271,7 @@ public: return iter()-x.iter(); } - auto operator[](difference_type n) const -> decltype(*iter()){ + auto operator[](difference_type n) const -> decltype(*(this->iter())) { return *(iter()+n); } -- GitLab