diff --git a/test/view_adaptor.cpp b/test/view_adaptor.cpp index fedf3ab..49b614b 100644 --- a/test/view_adaptor.cpp +++ b/test/view_adaptor.cpp @@ -196,5 +196,32 @@ int main() } #endif + // User views mixed with std views. +#if BOOST_STL_INTERFACES_USE_CONCEPTS + { + std::vector vec1 = {0, 1, 2, 3, 4, 5, 6, 7}; + + std::vector vec2; + for (auto x : all(vec1) | std::views::reverse | old_reverse | + std::views::reverse) { + vec2.push_back(x); + } + + std::reverse(vec2.begin(), vec2.end()); + BOOST_TEST(vec1 == vec2); + } + + { + std::vector const vec1 = {0, 1, 2, 3, 4, 5, 6, 7}; + + std::vector vec2; + for (auto x : all(vec1) | reverse | std::views::take(3)) { + vec2.push_back(x); + } + + BOOST_TEST(vec2 == (std::vector{7, 6, 5})); + } +#endif + return boost::report_errors(); }