Boost C++ 库

……世界上最受推崇且设计最专业的 C++ 库项目之一。 Herb SutterAndrei Alexandrescu,《C++ 编码规范

迭代器概念 - Boost C++ 函数库

迭代器概念

作者 David Abrahams, Jeremy Siek, Thomas Witt
联系方式 dave@boost-consulting.com, jsiek@osl.iu.edu, witt@styleadvisor.com
组织 Boost Consulting, Indiana University 开放系统实验室, Zephyr Associates, Inc.
日期 2006-09-11
版权 Copyright David Abrahams, Jeremy Siek, and Thomas Witt 2004.
摘要迭代器概念检查类提供了一种机制,使模板在用户将不满足模板要求的类型实例化为模板时,能够给出更好的错误信息。

有关使用概念检查类的入门介绍,请参阅 boost::concept_check 库的文档。

参考

iterator_concepts.hpp提要

namespace boost_concepts {

    // Iterator Access Concepts

    template <typename Iterator>
    class ReadableIteratorConcept;

    template <
        typename Iterator
      , typename ValueType = std::iterator_traits<Iterator>::value_type
    >
    class WritableIteratorConcept;

    template <typename Iterator>
    class SwappableIteratorConcept;

    template <typename Iterator>
    class LvalueIteratorConcept;

    // Iterator Traversal Concepts

    template <typename Iterator>
    class IncrementableIteratorConcept;

    template <typename Iterator>
    class SinglePassIteratorConcept;

    template <typename Iterator>
    class ForwardTraversalConcept;

    template <typename Iterator>
    class BidirectionalTraversalConcept;

    template <typename Iterator>
    class RandomAccessTraversalConcept;

    // Interoperability

    template <typename Iterator, typename ConstIterator>
    class InteroperableIteratorConcept;

}