iterator_adaptor_cc.cpp

来自「Boost provides free peer-reviewed portab」· C++ 代码 · 共 47 行

CPP
47
字号
// Copyright (C) 2004 Jeremy Siek <jsiek@cs.indiana.edu>// Distributed under 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 <boost/iterator/reverse_iterator.hpp>#include <boost/iterator/iterator_concepts.hpp>#include <boost/concept_check.hpp>#include <boost/cstdlib.hpp>#include <list>int main(){  {    typedef boost::reverse_iterator<int*>       rev_iter;    typedef boost::reverse_iterator<int const*> c_rev_iter;    boost::function_requires< boost_concepts::WritableIteratorConcept<rev_iter> >();    boost::function_requires< boost_concepts::LvalueIteratorConcept<rev_iter> >();    boost::function_requires< boost_concepts::RandomAccessTraversalConcept<rev_iter> >();    boost::function_requires< boost::RandomAccessIteratorConcept<rev_iter> >();    boost::function_requires< boost_concepts::InteroperableIteratorConcept<rev_iter, c_rev_iter> >();  }    // Many compilers' builtin container iterators don't interoperate well, though    // STLport fixes that problem.#if defined(__SGI_STL_PORT)                                                             \    || !BOOST_WORKAROUND(__GNUC__, <= 2)                                                \    && !(BOOST_WORKAROUND(__GNUC__, == 3) && BOOST_WORKAROUND(__GNUC_MINOR__, <= 1))    \    && !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x551))                          \    && !BOOST_WORKAROUND(__LIBCOMO_VERSION__, BOOST_TESTED_AT(29))                      \    && !BOOST_WORKAROUND(BOOST_DINKUMWARE_STDLIB, <= 1)  {    typedef boost::reverse_iterator<std::list<int>::iterator>       rev_iter;    typedef boost::reverse_iterator<std::list<int>::const_iterator> c_rev_iter;    boost::function_requires< boost_concepts::ReadableIteratorConcept<c_rev_iter> >();    boost::function_requires< boost_concepts::LvalueIteratorConcept<c_rev_iter> >();    boost::function_requires< boost_concepts::BidirectionalTraversalConcept<c_rev_iter> >();    boost::function_requires< boost::BidirectionalIteratorConcept<c_rev_iter> >();    boost::function_requires< boost_concepts::InteroperableIteratorConcept<rev_iter, c_rev_iter> >();  }#endif    return boost::exit_success;}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?