diff options
Diffstat (limited to 'test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.op!=/test.pass.cpp')
-rw-r--r-- | test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.op!=/test.pass.cpp | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.op!=/test.pass.cpp b/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.op!=/test.pass.cpp index 29da57e3b5af..f5162a7c5dc3 100644 --- a/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.op!=/test.pass.cpp +++ b/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.op!=/test.pass.cpp @@ -13,12 +13,15 @@ // template <BidirectionalIterator Iter1, BidirectionalIterator Iter2> // requires HasEqualTo<Iter1, Iter2> -// bool +// constexpr bool // operator!=(const reverse_iterator<Iter1>& x, const reverse_iterator<Iter2>& y); +// +// constexpr in c++17 #include <iterator> #include <cassert> +#include "test_macros.h" #include "test_iterators.h" template <class It> @@ -39,4 +42,16 @@ int main() test(random_access_iterator<const char*>(s), random_access_iterator<const char*>(s+1), true); test(s, s, false); test(s, s+1, true); + +#if TEST_STD_VER > 14 + { + constexpr const char *p = "123456789"; + typedef std::reverse_iterator<const char *> RI; + constexpr RI it1 = std::make_reverse_iterator(p); + constexpr RI it2 = std::make_reverse_iterator(p); + constexpr RI it3 = std::make_reverse_iterator(p+1); + static_assert(!(it1 != it2), ""); + static_assert( (it1 != it3), ""); + } +#endif } |