diff options
Diffstat (limited to 'test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.comp/op_neq.pass.cpp')
-rw-r--r-- | test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.comp/op_neq.pass.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.comp/op_neq.pass.cpp b/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.comp/op_neq.pass.cpp index 9e4b9e372..8e6c827fd 100644 --- a/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.comp/op_neq.pass.cpp +++ b/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.comp/op_neq.pass.cpp @@ -15,10 +15,13 @@ // requires HasEqualTo<Iter1, Iter2> // bool // operator!=(const move_iterator<Iter1>& x, const move_iterator<Iter2>& y); +// +// constexpr in C++17 #include <iterator> #include <cassert> +#include "test_macros.h" #include "test_iterators.h" template <class It> @@ -43,4 +46,17 @@ int main() test(random_access_iterator<char*>(s), random_access_iterator<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::move_iterator<const char *> MI; + constexpr MI it1 = std::make_move_iterator(p); + constexpr MI it2 = std::make_move_iterator(p + 5); + constexpr MI it3 = std::make_move_iterator(p); + static_assert( (it1 != it2), ""); + static_assert(!(it1 != it3), ""); + static_assert( (it2 != it3), ""); + } +#endif } |