copied_concept2.cpp 799 B

123456789101112131415161718192021222324
  1. // Boost.Range library
  2. //
  3. // Copyright Neil Groves 2014. Use, modification and distribution is subject
  4. // to the Boost Software License, Version 1.0. (See accompanying file
  5. // LICENSE_1_0.txt or copy at
  6. // http://www.boost.org/LICENSE_1_0.txt)
  7. //
  8. // For more information, see http://www.boost.org/libs/range
  9. //
  10. #include "mock_range.hpp"
  11. #include <boost/iterator/iterator_categories.hpp>
  12. #include <boost/range/adaptor/copied.hpp>
  13. int main(int, const char**)
  14. {
  15. using boost::range::unit_test::mock_const_range;
  16. using boost::adaptors::copied;
  17. // This next line should fail when Boost.Range concept checking is
  18. // enabled since the adaptor takes at least a RandomAccessRange.
  19. return (mock_const_range<boost::bidirectional_traversal_tag>() |
  20. copied(0,1)).front();
  21. }