diff --git a/libcxx/test/std/strings/basic.string/cpp17_input_iterator.h b/libcxx/test/std/strings/basic.string/cpp17_input_iterator.h --- a/libcxx/test/std/strings/basic.string/cpp17_input_iterator.h +++ b/libcxx/test/std/strings/basic.string/cpp17_input_iterator.h @@ -11,6 +11,8 @@ #include +#include "test_macros.h" + template class cpp17_input_iterator { @@ -22,18 +24,18 @@ typedef It pointer; typedef typename std::iterator_traits::reference reference; - cpp17_input_iterator() : it_() {} - explicit cpp17_input_iterator(It it) : it_(it) {} + TEST_CONSTEXPR cpp17_input_iterator() : it_() {} + TEST_CONSTEXPR explicit cpp17_input_iterator(It it) : it_(it) {} - reference operator*() const {return *it_;} - pointer operator->() const {return it_;} + TEST_CONSTEXPR reference operator*() const {return *it_;} + TEST_CONSTEXPR pointer operator->() const {return it_;} - cpp17_input_iterator& operator++() {++it_; return *this;} - cpp17_input_iterator operator++(int) {cpp17_input_iterator tmp(*this); ++(*this); return tmp;} + TEST_CONSTEXPR_CXX14 cpp17_input_iterator& operator++() {++it_; return *this;} + TEST_CONSTEXPR_CXX14 cpp17_input_iterator operator++(int) {cpp17_input_iterator tmp(*this); ++(*this); return tmp;} - friend bool operator==(const cpp17_input_iterator& x, const cpp17_input_iterator& y) + TEST_CONSTEXPR friend bool operator==(const cpp17_input_iterator& x, const cpp17_input_iterator& y) {return x.it_ == y.it_;} - friend bool operator!=(const cpp17_input_iterator& x, const cpp17_input_iterator& y) + TEST_CONSTEXPR friend bool operator!=(const cpp17_input_iterator& x, const cpp17_input_iterator& y) {return !(x == y);} };