/* * * Copyright (c) 2015 * John Maddock * * Use, modification and distribution are subject to the * Boost Software License, Version 1.0. (See accompanying file * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) * */ #include #include template void use_val(const T&){} template void check() { BOOST_CONCEPT_ASSERT((boost::ForwardRangeConcept)); BOOST_CONCEPT_ASSERT((boost_concepts::ReadableIteratorConcept::type>)); BOOST_CONCEPT_ASSERT((boost_concepts::RandomAccessTraversalConcept::type>)); #ifndef BOOST_NO_CXX11_RANGE_BASED_FOR const T val; for(auto item : val) { use_val(item); } #endif } int main() { check(); check(); check >(); return 0; }