2004-01-27 17:03:46 +00:00
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
< html xmlns = "http://www.w3.org/1999/xhtml" xml:lang = "en" lang = "en" >
< head >
< meta http-equiv = "Content-Type" content = "text/html; charset=utf-8" / >
2004-11-02 14:31:27 +00:00
< meta name = "generator" content = "Docutils 0.3.6: http://docutils.sourceforge.net/" / >
2004-01-27 17:03:46 +00:00
< title > Iterator Concepts< / title >
< meta name = "author" content = "David Abrahams, Jeremy Siek, Thomas Witt" / >
< meta name = "organization" content = "Boost Consulting, Indiana University Open Systems Lab, Zephyr Associates, Inc." / >
2004-11-02 14:31:27 +00:00
< meta name = "date" content = "2004-11-01" / >
< meta name = "copyright" content = "Copyright David Abrahams, Jeremy Siek, and Thomas Witt 2004." / >
2004-01-27 17:03:46 +00:00
< link rel = "stylesheet" href = "default.css" type = "text/css" / >
< / head >
< body >
< h1 class = "title" > Iterator Concepts< / h1 >
< table class = "docinfo" frame = "void" rules = "none" >
< col class = "docinfo-name" / >
< col class = "docinfo-content" / >
< tbody valign = "top" >
< tr > < th class = "docinfo-name" > Author:< / th >
< td > David Abrahams, Jeremy Siek, Thomas Witt< / td > < / tr >
< tr > < th class = "docinfo-name" > Contact:< / th >
< td > < a class = "first reference" href = "mailto:dave@boost-consulting.com" > dave@ boost-consulting.com< / a > , < a class = "reference" href = "mailto:jsiek@osl.iu.edu" > jsiek@ osl.iu.edu< / a > , < a class = "last reference" href = "mailto:witt@styleadvisor.com" > witt@ styleadvisor.com< / a > < / td > < / tr >
< tr > < th class = "docinfo-name" > Organization:< / th >
< td > < a class = "first reference" href = "http://www.boost-consulting.com" > Boost Consulting< / a > , Indiana University < a class = "reference" href = "http://www.osl.iu.edu" > Open Systems
Lab< / a > , < a class = "last reference" href = "http://www.styleadvisor.com" > Zephyr Associates, Inc.< / a > < / td > < / tr >
< tr > < th class = "docinfo-name" > Date:< / th >
2004-11-02 14:31:27 +00:00
< td > 2004-11-01< / td > < / tr >
2004-01-27 17:03:46 +00:00
< tr > < th class = "docinfo-name" > Copyright:< / th >
2004-11-02 14:31:27 +00:00
< td > Copyright David Abrahams, Jeremy Siek, and Thomas Witt 2004.< / td > < / tr >
2004-01-27 17:03:46 +00:00
< / tbody >
< / table >
2004-11-02 14:31:27 +00:00
< div class = "document" id = "iterator-concepts" >
2004-01-27 17:03:46 +00:00
< table class = "field-list" frame = "void" rules = "none" >
< col class = "field-name" / >
< col class = "field-body" / >
< tbody valign = "top" >
< tr class = "field" > < th class = "field-name" > abstract:< / th > < td class = "field-body" > 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.< / td >
< / tr >
< / tbody >
< / table >
< p > For an introduction to using concept checking classes, see
the documentation for the < a class = "reference" href = "../../concept_check/index.html" > < tt class = "literal" > < span class = "pre" > boost::concept_check< / span > < / tt > < / a > library.< / p >
< div class = "section" id = "reference" >
< h1 > < a name = "reference" > Reference< / a > < / h1 >
< div class = "section" id = "iterator-access-concepts" >
< h2 > < a name = "iterator-access-concepts" > Iterator Access Concepts< / a > < / h2 >
< ul class = "simple" >
< li > < a class = "reference" href = "ReadableIterator.html" > < em > Readable Iterator< / em > < / a > < / li >
< li > < a class = "reference" href = "WritableIterator.html" > < em > Writable Iterator< / em > < / a > < / li >
< li > < a class = "reference" href = "SwappableIterator.html" > < em > Swappable Iterator< / em > < / a > < / li >
< li > < a class = "reference" href = "LvalueIterator.html" > < em > Lvalue Iterator< / em > < / a > < / li >
< / ul >
< / div >
< div class = "section" id = "iterator-traversal-concepts" >
< h2 > < a name = "iterator-traversal-concepts" > Iterator Traversal Concepts< / a > < / h2 >
< ul class = "simple" >
< li > < a class = "reference" href = "IncrementableIterator.html" > < em > Incrementable Iterator< / em > < / a > < / li >
< li > < a class = "reference" href = "SinglePassIterator.html" > < em > Single Pass Iterator< / em > < / a > < / li >
< li > < a class = "reference" href = "ForwardTraversal.html" > < em > Forward Traversal< / em > < / a > < / li >
< li > < a class = "reference" href = "BidirectionalTraversal.html" > < em > Bidirectional Traversal< / em > < / a > < / li >
< li > < a class = "reference" href = "RandomAccessTraversal.html" > < em > Random Access Traversal< / em > < / a > < / li >
< / ul >
< / div >
< div class = "section" id = "iterator-concepts-hpp-synopsis" >
< h2 > < a name = "iterator-concepts-hpp-synopsis" > < tt class = "literal" > < span class = "pre" > iterator_concepts.hpp< / span > < / tt > Synopsis< / a > < / h2 >
< pre class = "literal-block" >
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;
}
< / pre >
< / div >
< / div >
< / div >
< hr class = "footer" / >
< div class = "footer" >
< a class = "reference" href = "iterator_concepts.rst" > View document source< / a > .
Generated by < a class = "reference" href = "http://docutils.sourceforge.net/" > Docutils< / a > from < a class = "reference" href = "http://docutils.sourceforge.net/rst.html" > reStructuredText< / a > source.
< / div >
< / body >
< / html >