diff options
author | Marshall Clow <mclow.lists@gmail.com> | 2015-11-07 17:48:49 +0000 |
---|---|---|
committer | Marshall Clow <mclow.lists@gmail.com> | 2015-11-07 17:48:49 +0000 |
commit | e5f1288fa0870291aeba423d8967efa0ffe2236e (patch) | |
tree | 607f3c0ea10fc18ed7b982230c6ee48c4eb6f1b1 /libcxx/test/std/iterators/iterator.primitives | |
parent | 8be59af1ed6ed846f55223229918ae5438ce1dfc (diff) | |
download | bcm5719-llvm-e5f1288fa0870291aeba423d8967efa0ffe2236e.tar.gz bcm5719-llvm-e5f1288fa0870291aeba423d8967efa0ffe2236e.zip |
Implement LWG#2353: std::next is over-constrained
llvm-svn: 252407
Diffstat (limited to 'libcxx/test/std/iterators/iterator.primitives')
-rw-r--r-- | libcxx/test/std/iterators/iterator.primitives/iterator.operations/next.pass.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/libcxx/test/std/iterators/iterator.primitives/iterator.operations/next.pass.cpp b/libcxx/test/std/iterators/iterator.primitives/iterator.operations/next.pass.cpp index f584110499b..0952588b0cb 100644 --- a/libcxx/test/std/iterators/iterator.primitives/iterator.operations/next.pass.cpp +++ b/libcxx/test/std/iterators/iterator.primitives/iterator.operations/next.pass.cpp @@ -12,6 +12,8 @@ // template <InputIterator Iter> // Iter next(Iter x, Iter::difference_type n = 1); +// LWG #2353 relaxed the requirement on next from ForwardIterator to InputIterator + #include <iterator> #include <cassert> @@ -34,11 +36,13 @@ test(It i, It x) int main() { const char* s = "1234567890"; + test(input_iterator<const char*>(s), 10, input_iterator<const char*>(s+10)); test(forward_iterator<const char*>(s), 10, forward_iterator<const char*>(s+10)); test(bidirectional_iterator<const char*>(s), 10, bidirectional_iterator<const char*>(s+10)); test(random_access_iterator<const char*>(s), 10, random_access_iterator<const char*>(s+10)); test(s, 10, s+10); + test(input_iterator<const char*>(s), input_iterator<const char*>(s+1)); test(forward_iterator<const char*>(s), forward_iterator<const char*>(s+1)); test(bidirectional_iterator<const char*>(s), bidirectional_iterator<const char*>(s+1)); test(random_access_iterator<const char*>(s), random_access_iterator<const char*>(s+1)); |