diff --git a/libcxx/test/std/containers/views/span.iterators/begin.pass.cpp b/libcxx/test/std/containers/views/span.iterators/begin.pass.cpp --- a/libcxx/test/std/containers/views/span.iterators/begin.pass.cpp +++ b/libcxx/test/std/containers/views/span.iterators/begin.pass.cpp @@ -19,89 +19,77 @@ #include "test_macros.h" template -constexpr bool testConstexprSpan(Span s) -{ - bool ret = true; - typename Span::iterator b = s.begin(); - - if (s.empty()) - { - ret = ret && (b == s.end()); - } - else - { - ret = ret && ( *b == s[0]); - ret = ret && (&*b == &s[0]); - } - return ret; +constexpr bool testConstexprSpan(Span s) { + bool ret = true; + typename Span::iterator b = s.begin(); + + if (s.empty()) { + ret = ret && (b == s.end()); + } else { + ret = ret && (*b == s[0]); + ret = ret && (&*b == &s[0]); + } + return ret; } - template -void testRuntimeSpan(Span s) -{ - typename Span::iterator b = s.begin(); - - if (s.empty()) - { - assert(b == s.end()); - } - else - { - assert( *b == s[0]); - assert(&*b == &s[0]); - } +void testRuntimeSpan(Span s) { + typename Span::iterator b = s.begin(); + + if (s.empty()) { + assert(b == s.end()); + } else { + assert(*b == s[0]); + assert(&*b == &s[0]); + } } -struct A{}; -bool operator==(A, A) {return true;} - -constexpr int iArr1[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9}; - int iArr2[] = {10, 11, 12, 13, 14, 15, 16, 17, 18, 19}; - - -int main(int, char**) -{ - static_assert(testConstexprSpan(std::span()), ""); - static_assert(testConstexprSpan(std::span()), ""); - static_assert(testConstexprSpan(std::span()), ""); - static_assert(testConstexprSpan(std::span()), ""); - static_assert(testConstexprSpan(std::span()), ""); - - static_assert(testConstexprSpan(std::span()), ""); - static_assert(testConstexprSpan(std::span()), ""); - static_assert(testConstexprSpan(std::span()), ""); - static_assert(testConstexprSpan(std::span()), ""); - static_assert(testConstexprSpan(std::span()), ""); - - static_assert(testConstexprSpan(std::span(iArr1, 1)), ""); - static_assert(testConstexprSpan(std::span(iArr1, 2)), ""); - static_assert(testConstexprSpan(std::span(iArr1, 3)), ""); - static_assert(testConstexprSpan(std::span(iArr1, 4)), ""); - static_assert(testConstexprSpan(std::span(iArr1, 5)), ""); - - - testRuntimeSpan(std::span ()); - testRuntimeSpan(std::span ()); - testRuntimeSpan(std::span ()); - testRuntimeSpan(std::span ()); - testRuntimeSpan(std::span()); - - testRuntimeSpan(std::span ()); - testRuntimeSpan(std::span ()); - testRuntimeSpan(std::span ()); - testRuntimeSpan(std::span ()); - testRuntimeSpan(std::span()); - - testRuntimeSpan(std::span(iArr2, 1)); - testRuntimeSpan(std::span(iArr2, 2)); - testRuntimeSpan(std::span(iArr2, 3)); - testRuntimeSpan(std::span(iArr2, 4)); - testRuntimeSpan(std::span(iArr2, 5)); - - std::string s; - testRuntimeSpan(std::span(&s, (std::size_t) 0)); - testRuntimeSpan(std::span(&s, 1)); +struct A {}; +bool operator==(A, A) { return true; } + +constexpr int iArr1[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}; +int iArr2[] = {10, 11, 12, 13, 14, 15, 16, 17, 18, 19}; + +int main(int, char**) { + static_assert(testConstexprSpan(std::span()), ""); + static_assert(testConstexprSpan(std::span()), ""); + static_assert(testConstexprSpan(std::span()), ""); + static_assert(testConstexprSpan(std::span()), ""); + static_assert(testConstexprSpan(std::span()), ""); + + static_assert(testConstexprSpan(std::span()), ""); + static_assert(testConstexprSpan(std::span()), ""); + static_assert(testConstexprSpan(std::span()), ""); + static_assert(testConstexprSpan(std::span()), ""); + static_assert(testConstexprSpan(std::span()), ""); + + static_assert(testConstexprSpan(std::span(iArr1, 1)), ""); + static_assert(testConstexprSpan(std::span(iArr1, 2)), ""); + static_assert(testConstexprSpan(std::span(iArr1, 3)), ""); + static_assert(testConstexprSpan(std::span(iArr1, 4)), ""); + static_assert(testConstexprSpan(std::span(iArr1, 5)), ""); + + testRuntimeSpan(std::span()); + testRuntimeSpan(std::span()); + testRuntimeSpan(std::span()); + testRuntimeSpan(std::span()); + testRuntimeSpan(std::span()); + + testRuntimeSpan(std::span()); + testRuntimeSpan(std::span()); + testRuntimeSpan(std::span()); + testRuntimeSpan(std::span()); + testRuntimeSpan(std::span()); + + testRuntimeSpan(std::span(iArr2, 1)); + testRuntimeSpan(std::span(iArr2, 2)); + testRuntimeSpan(std::span(iArr2, 3)); + testRuntimeSpan(std::span(iArr2, 4)); + testRuntimeSpan(std::span(iArr2, 5)); + + std::string s; + testRuntimeSpan(std::span(&s, (std::size_t)0)); + testRuntimeSpan(std::span(&s, 1)); return 0; } diff --git a/libcxx/test/std/containers/views/span.iterators/end.pass.cpp b/libcxx/test/std/containers/views/span.iterators/end.pass.cpp --- a/libcxx/test/std/containers/views/span.iterators/end.pass.cpp +++ b/libcxx/test/std/containers/views/span.iterators/end.pass.cpp @@ -19,93 +19,81 @@ #include "test_macros.h" template -constexpr bool testConstexprSpan(Span s) -{ - bool ret = true; - typename Span::iterator e = s.end(); - if (s.empty()) - { - ret = ret && (e == s.begin()); - } - else - { - typename Span::const_pointer last = &*(s.begin() + s.size() - 1); - ret = ret && (e != s.begin()); - ret = ret && (&*( e-1) == last); - } - - ret = ret && (static_cast(e - s.begin()) == s.size()); - return ret; +constexpr bool testConstexprSpan(Span s) { + bool ret = true; + typename Span::iterator e = s.end(); + if (s.empty()) { + ret = ret && (e == s.begin()); + } else { + typename Span::const_pointer last = &*(s.begin() + s.size() - 1); + ret = ret && (e != s.begin()); + ret = ret && (&*(e - 1) == last); + } + + ret = ret && (static_cast(e - s.begin()) == s.size()); + return ret; } template -void testRuntimeSpan(Span s) -{ - typename Span::iterator e = s.end(); - if (s.empty()) - { - assert(e == s.begin()); - } - else - { - typename Span::const_pointer last = &*(s.begin() + s.size() - 1); - assert(e != s.begin()); - assert(&*( e-1) == last); - } - - assert(static_cast(e - s.begin()) == s.size()); +void testRuntimeSpan(Span s) { + typename Span::iterator e = s.end(); + if (s.empty()) { + assert(e == s.begin()); + } else { + typename Span::const_pointer last = &*(s.begin() + s.size() - 1); + assert(e != s.begin()); + assert(&*(e - 1) == last); + } + + assert(static_cast(e - s.begin()) == s.size()); } - -struct A{}; -bool operator==(A, A) {return true;} - -constexpr int iArr1[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9}; - int iArr2[] = {10, 11, 12, 13, 14, 15, 16, 17, 18, 19}; - - -int main(int, char**) -{ - static_assert(testConstexprSpan(std::span()), ""); - static_assert(testConstexprSpan(std::span()), ""); - static_assert(testConstexprSpan(std::span()), ""); - static_assert(testConstexprSpan(std::span()), ""); - static_assert(testConstexprSpan(std::span()), ""); - - static_assert(testConstexprSpan(std::span()), ""); - static_assert(testConstexprSpan(std::span()), ""); - static_assert(testConstexprSpan(std::span()), ""); - static_assert(testConstexprSpan(std::span()), ""); - static_assert(testConstexprSpan(std::span()), ""); - - static_assert(testConstexprSpan(std::span(iArr1, 1)), ""); - static_assert(testConstexprSpan(std::span(iArr1, 2)), ""); - static_assert(testConstexprSpan(std::span(iArr1, 3)), ""); - static_assert(testConstexprSpan(std::span(iArr1, 4)), ""); - static_assert(testConstexprSpan(std::span(iArr1, 5)), ""); - - - testRuntimeSpan(std::span ()); - testRuntimeSpan(std::span ()); - testRuntimeSpan(std::span ()); - testRuntimeSpan(std::span ()); - testRuntimeSpan(std::span()); - - testRuntimeSpan(std::span ()); - testRuntimeSpan(std::span ()); - testRuntimeSpan(std::span ()); - testRuntimeSpan(std::span ()); - testRuntimeSpan(std::span()); - - testRuntimeSpan(std::span(iArr2, 1)); - testRuntimeSpan(std::span(iArr2, 2)); - testRuntimeSpan(std::span(iArr2, 3)); - testRuntimeSpan(std::span(iArr2, 4)); - testRuntimeSpan(std::span(iArr2, 5)); - - std::string s; - testRuntimeSpan(std::span(&s, (std::size_t) 0)); - testRuntimeSpan(std::span(&s, 1)); +struct A {}; +bool operator==(A, A) { return true; } + +constexpr int iArr1[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}; +int iArr2[] = {10, 11, 12, 13, 14, 15, 16, 17, 18, 19}; + +int main(int, char**) { + static_assert(testConstexprSpan(std::span()), ""); + static_assert(testConstexprSpan(std::span()), ""); + static_assert(testConstexprSpan(std::span()), ""); + static_assert(testConstexprSpan(std::span()), ""); + static_assert(testConstexprSpan(std::span()), ""); + + static_assert(testConstexprSpan(std::span()), ""); + static_assert(testConstexprSpan(std::span()), ""); + static_assert(testConstexprSpan(std::span()), ""); + static_assert(testConstexprSpan(std::span()), ""); + static_assert(testConstexprSpan(std::span()), ""); + + static_assert(testConstexprSpan(std::span(iArr1, 1)), ""); + static_assert(testConstexprSpan(std::span(iArr1, 2)), ""); + static_assert(testConstexprSpan(std::span(iArr1, 3)), ""); + static_assert(testConstexprSpan(std::span(iArr1, 4)), ""); + static_assert(testConstexprSpan(std::span(iArr1, 5)), ""); + + testRuntimeSpan(std::span()); + testRuntimeSpan(std::span()); + testRuntimeSpan(std::span()); + testRuntimeSpan(std::span()); + testRuntimeSpan(std::span()); + + testRuntimeSpan(std::span()); + testRuntimeSpan(std::span()); + testRuntimeSpan(std::span()); + testRuntimeSpan(std::span()); + testRuntimeSpan(std::span()); + + testRuntimeSpan(std::span(iArr2, 1)); + testRuntimeSpan(std::span(iArr2, 2)); + testRuntimeSpan(std::span(iArr2, 3)); + testRuntimeSpan(std::span(iArr2, 4)); + testRuntimeSpan(std::span(iArr2, 5)); + + std::string s; + testRuntimeSpan(std::span(&s, (std::size_t)0)); + testRuntimeSpan(std::span(&s, 1)); return 0; } diff --git a/libcxx/test/std/containers/views/span.iterators/rbegin.pass.cpp b/libcxx/test/std/containers/views/span.iterators/rbegin.pass.cpp --- a/libcxx/test/std/containers/views/span.iterators/rbegin.pass.cpp +++ b/libcxx/test/std/containers/views/span.iterators/rbegin.pass.cpp @@ -19,90 +19,77 @@ #include "test_macros.h" template -constexpr bool testConstexprSpan(Span s) -{ - bool ret = true; - typename Span::reverse_iterator b = s.rbegin(); - if (s.empty()) - { - ret = ret && ( b == s.rend()); - } - else - { - const typename Span::size_type last = s.size() - 1; - ret = ret && ( *b == s[last]); - ret = ret && (&*b == &s[last]); - } - return ret; +constexpr bool testConstexprSpan(Span s) { + bool ret = true; + typename Span::reverse_iterator b = s.rbegin(); + if (s.empty()) { + ret = ret && (b == s.rend()); + } else { + const typename Span::size_type last = s.size() - 1; + ret = ret && (*b == s[last]); + ret = ret && (&*b == &s[last]); + } + return ret; } - template -void testRuntimeSpan(Span s) -{ - typename Span::reverse_iterator b = s.rbegin(); - if (s.empty()) - { - assert(b == s.rend()); - } - else - { - const typename Span::size_type last = s.size() - 1; - assert( *b == s[last]); - assert(&*b == &s[last]); - } +void testRuntimeSpan(Span s) { + typename Span::reverse_iterator b = s.rbegin(); + if (s.empty()) { + assert(b == s.rend()); + } else { + const typename Span::size_type last = s.size() - 1; + assert(*b == s[last]); + assert(&*b == &s[last]); + } } - -struct A{}; -bool operator==(A, A) {return true;} - -constexpr int iArr1[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9}; - int iArr2[] = {10, 11, 12, 13, 14, 15, 16, 17, 18, 19}; - - -int main(int, char**) -{ - static_assert(testConstexprSpan(std::span()), ""); - static_assert(testConstexprSpan(std::span()), ""); - static_assert(testConstexprSpan(std::span()), ""); - static_assert(testConstexprSpan(std::span()), ""); - static_assert(testConstexprSpan(std::span()), ""); - - static_assert(testConstexprSpan(std::span()), ""); - static_assert(testConstexprSpan(std::span()), ""); - static_assert(testConstexprSpan(std::span()), ""); - static_assert(testConstexprSpan(std::span()), ""); - static_assert(testConstexprSpan(std::span()), ""); - - static_assert(testConstexprSpan(std::span(iArr1, 1)), ""); - static_assert(testConstexprSpan(std::span(iArr1, 2)), ""); - static_assert(testConstexprSpan(std::span(iArr1, 3)), ""); - static_assert(testConstexprSpan(std::span(iArr1, 4)), ""); - static_assert(testConstexprSpan(std::span(iArr1, 5)), ""); - - - testRuntimeSpan(std::span ()); - testRuntimeSpan(std::span ()); - testRuntimeSpan(std::span ()); - testRuntimeSpan(std::span ()); - testRuntimeSpan(std::span()); - - testRuntimeSpan(std::span ()); - testRuntimeSpan(std::span ()); - testRuntimeSpan(std::span ()); - testRuntimeSpan(std::span ()); - testRuntimeSpan(std::span()); - - testRuntimeSpan(std::span(iArr2, 1)); - testRuntimeSpan(std::span(iArr2, 2)); - testRuntimeSpan(std::span(iArr2, 3)); - testRuntimeSpan(std::span(iArr2, 4)); - testRuntimeSpan(std::span(iArr2, 5)); - - std::string s; - testRuntimeSpan(std::span(&s, static_cast(0))); - testRuntimeSpan(std::span(&s, 1)); +struct A {}; +bool operator==(A, A) { return true; } + +constexpr int iArr1[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}; +int iArr2[] = {10, 11, 12, 13, 14, 15, 16, 17, 18, 19}; + +int main(int, char**) { + static_assert(testConstexprSpan(std::span()), ""); + static_assert(testConstexprSpan(std::span()), ""); + static_assert(testConstexprSpan(std::span()), ""); + static_assert(testConstexprSpan(std::span()), ""); + static_assert(testConstexprSpan(std::span()), ""); + + static_assert(testConstexprSpan(std::span()), ""); + static_assert(testConstexprSpan(std::span()), ""); + static_assert(testConstexprSpan(std::span()), ""); + static_assert(testConstexprSpan(std::span()), ""); + static_assert(testConstexprSpan(std::span()), ""); + + static_assert(testConstexprSpan(std::span(iArr1, 1)), ""); + static_assert(testConstexprSpan(std::span(iArr1, 2)), ""); + static_assert(testConstexprSpan(std::span(iArr1, 3)), ""); + static_assert(testConstexprSpan(std::span(iArr1, 4)), ""); + static_assert(testConstexprSpan(std::span(iArr1, 5)), ""); + + testRuntimeSpan(std::span()); + testRuntimeSpan(std::span()); + testRuntimeSpan(std::span()); + testRuntimeSpan(std::span()); + testRuntimeSpan(std::span()); + + testRuntimeSpan(std::span()); + testRuntimeSpan(std::span()); + testRuntimeSpan(std::span()); + testRuntimeSpan(std::span()); + testRuntimeSpan(std::span()); + + testRuntimeSpan(std::span(iArr2, 1)); + testRuntimeSpan(std::span(iArr2, 2)); + testRuntimeSpan(std::span(iArr2, 3)); + testRuntimeSpan(std::span(iArr2, 4)); + testRuntimeSpan(std::span(iArr2, 5)); + + std::string s; + testRuntimeSpan(std::span(&s, static_cast(0))); + testRuntimeSpan(std::span(&s, 1)); return 0; } diff --git a/libcxx/test/std/containers/views/span.iterators/rend.pass.cpp b/libcxx/test/std/containers/views/span.iterators/rend.pass.cpp --- a/libcxx/test/std/containers/views/span.iterators/rend.pass.cpp +++ b/libcxx/test/std/containers/views/span.iterators/rend.pass.cpp @@ -19,89 +19,77 @@ #include "test_macros.h" template -constexpr bool testConstexprSpan(Span s) -{ - bool ret = true; - typename Span::reverse_iterator e = s.rend(); - if (s.empty()) - { - ret = ret && (e == s.rbegin()); - } - else - { - ret = ret && (e != s.rbegin()); - } - - ret = ret && (static_cast(e - s.rbegin()) == s.size()); - return ret; +constexpr bool testConstexprSpan(Span s) { + bool ret = true; + typename Span::reverse_iterator e = s.rend(); + if (s.empty()) { + ret = ret && (e == s.rbegin()); + } else { + ret = ret && (e != s.rbegin()); + } + + ret = ret && (static_cast(e - s.rbegin()) == s.size()); + return ret; } template -void testRuntimeSpan(Span s) -{ - typename Span::reverse_iterator e = s.rend(); - if (s.empty()) - { - assert(e == s.rbegin()); - } - else - { - assert(e != s.rbegin()); - } - - assert(static_cast(e - s.rbegin()) == s.size()); +void testRuntimeSpan(Span s) { + typename Span::reverse_iterator e = s.rend(); + if (s.empty()) { + assert(e == s.rbegin()); + } else { + assert(e != s.rbegin()); + } + + assert(static_cast(e - s.rbegin()) == s.size()); } - -struct A{}; -bool operator==(A, A) {return true;} - -constexpr int iArr1[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9}; - int iArr2[] = {10, 11, 12, 13, 14, 15, 16, 17, 18, 19}; - - -int main(int, char**) -{ - static_assert(testConstexprSpan(std::span()), ""); - static_assert(testConstexprSpan(std::span()), ""); - static_assert(testConstexprSpan(std::span()), ""); - static_assert(testConstexprSpan(std::span()), ""); - static_assert(testConstexprSpan(std::span()), ""); - - static_assert(testConstexprSpan(std::span()), ""); - static_assert(testConstexprSpan(std::span()), ""); - static_assert(testConstexprSpan(std::span()), ""); - static_assert(testConstexprSpan(std::span()), ""); - static_assert(testConstexprSpan(std::span()), ""); - - static_assert(testConstexprSpan(std::span(iArr1, 1)), ""); - static_assert(testConstexprSpan(std::span(iArr1, 2)), ""); - static_assert(testConstexprSpan(std::span(iArr1, 3)), ""); - static_assert(testConstexprSpan(std::span(iArr1, 4)), ""); - static_assert(testConstexprSpan(std::span(iArr1, 5)), ""); - - - testRuntimeSpan(std::span ()); - testRuntimeSpan(std::span ()); - testRuntimeSpan(std::span ()); - testRuntimeSpan(std::span ()); - testRuntimeSpan(std::span()); - - testRuntimeSpan(std::span ()); - testRuntimeSpan(std::span ()); - testRuntimeSpan(std::span ()); - testRuntimeSpan(std::span ()); - testRuntimeSpan(std::span()); - - testRuntimeSpan(std::span(iArr2, 1)); - testRuntimeSpan(std::span(iArr2, 2)); - testRuntimeSpan(std::span(iArr2, 3)); - testRuntimeSpan(std::span(iArr2, 4)); - testRuntimeSpan(std::span(iArr2, 5)); - - std::string s; - testRuntimeSpan(std::span(&s, (std::size_t) 0)); - testRuntimeSpan(std::span(&s, 1)); +struct A {}; +bool operator==(A, A) { return true; } + +constexpr int iArr1[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}; +int iArr2[] = {10, 11, 12, 13, 14, 15, 16, 17, 18, 19}; + +int main(int, char**) { + static_assert(testConstexprSpan(std::span()), ""); + static_assert(testConstexprSpan(std::span()), ""); + static_assert(testConstexprSpan(std::span()), ""); + static_assert(testConstexprSpan(std::span()), ""); + static_assert(testConstexprSpan(std::span()), ""); + + static_assert(testConstexprSpan(std::span()), ""); + static_assert(testConstexprSpan(std::span()), ""); + static_assert(testConstexprSpan(std::span()), ""); + static_assert(testConstexprSpan(std::span()), ""); + static_assert(testConstexprSpan(std::span()), ""); + + static_assert(testConstexprSpan(std::span(iArr1, 1)), ""); + static_assert(testConstexprSpan(std::span(iArr1, 2)), ""); + static_assert(testConstexprSpan(std::span(iArr1, 3)), ""); + static_assert(testConstexprSpan(std::span(iArr1, 4)), ""); + static_assert(testConstexprSpan(std::span(iArr1, 5)), ""); + + testRuntimeSpan(std::span()); + testRuntimeSpan(std::span()); + testRuntimeSpan(std::span()); + testRuntimeSpan(std::span()); + testRuntimeSpan(std::span()); + + testRuntimeSpan(std::span()); + testRuntimeSpan(std::span()); + testRuntimeSpan(std::span()); + testRuntimeSpan(std::span()); + testRuntimeSpan(std::span()); + + testRuntimeSpan(std::span(iArr2, 1)); + testRuntimeSpan(std::span(iArr2, 2)); + testRuntimeSpan(std::span(iArr2, 3)); + testRuntimeSpan(std::span(iArr2, 4)); + testRuntimeSpan(std::span(iArr2, 5)); + + std::string s; + testRuntimeSpan(std::span(&s, (std::size_t)0)); + testRuntimeSpan(std::span(&s, 1)); return 0; }