[section:concept_checking Concept Checking] The iterator concept checking classes provide a mechanism for a template to report better error messages when a user instantiates the template with a type that does not meet the requirements of the template. For an introduction to using concept checking classes, see the documentation for the _concept_check_ library. [h2 `iterator_concepts.hpp` Synopsis] namespace boost_concepts { // Iterator Access Concepts template class ReadableIteratorConcept; template < typename Iterator , typename ValueType = std::iterator_traits::value_type > class WritableIteratorConcept; template class SwappableIteratorConcept; template class LvalueIteratorConcept; // Iterator Traversal Concepts template class IncrementableIteratorConcept; template class SinglePassIteratorConcept; template class ForwardTraversalConcept; template class BidirectionalTraversalConcept; template class RandomAccessTraversalConcept; // Interoperability template class InteroperableIteratorConcept; } [endsect]