1
[section:concept_checking Concept Checking]
3
The iterator concept checking classes provide a mechanism for a
4
template to report better error messages when a user instantiates the
5
template with a type that does not meet the requirements of the
6
template. For an introduction to using concept checking classes, see
7
the documentation for the boost::concept_check library.
9
[h2 `iterator_concepts.hpp` Synopsis]
11
namespace boost_concepts {
13
// Iterator Access Concepts
15
template <typename Iterator>
16
class ReadableIteratorConcept;
20
, typename ValueType = std::iterator_traits<Iterator>::value_type
22
class WritableIteratorConcept;
24
template <typename Iterator>
25
class SwappableIteratorConcept;
27
template <typename Iterator>
28
class LvalueIteratorConcept;
30
// Iterator Traversal Concepts
32
template <typename Iterator>
33
class IncrementableIteratorConcept;
35
template <typename Iterator>
36
class SinglePassIteratorConcept;
38
template <typename Iterator>
39
class ForwardTraversalConcept;
41
template <typename Iterator>
42
class BidirectionalTraversalConcept;
44
template <typename Iterator>
45
class RandomAccessTraversalConcept;
49
template <typename Iterator, typename ConstIterator>
50
class InteroperableIteratorConcept;
b'\\ No newline at end of file'