iterator_concepts.hpp Synopsis
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;
}