From 4f332bed8cc4cf677e3835976a792b32b72cbc37 Mon Sep 17 00:00:00 2001 From: ryanhaining Date: Fri, 8 Apr 2016 10:43:09 -0700 Subject: [PATCH] Removes this-> in starmap::iterator functions. clang was getting confused by them, I don't know why. --- starmap.hpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/starmap.hpp b/starmap.hpp index a64222e5..58902b3c 100644 --- a/starmap.hpp +++ b/starmap.hpp @@ -10,6 +10,8 @@ #include #include +//NOTE I don't know why, but clang gets very confused by having this-> in the +//Iterators' member functions namespace iter { namespace impl { template @@ -80,7 +82,7 @@ class iter::impl::StarMapper { } decltype(auto) operator*() { - return call_with_tuple(*this->func, *this->sub_iter); + return call_with_tuple(*func, *sub_iter); } auto operator -> () -> ArrowProxy { @@ -139,7 +141,7 @@ class iter::impl::TupleStarMapper { : func{&f}, tup{&t}, index{i} {} decltype(auto) operator*() { - return callers[this->index](*this->func, *this->tup); + return callers[index](*func, *tup); } auto operator -> () -> ArrowProxy { @@ -147,7 +149,7 @@ class iter::impl::TupleStarMapper { } Iterator& operator++() { - ++this->index; + ++index; return *this; } @@ -158,7 +160,7 @@ class iter::impl::TupleStarMapper { } bool operator!=(const Iterator& other) const { - return this->index != other.index; + return index != other.index; } bool operator==(const Iterator& other) const {