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"  / >  
						 
					
						
							
								
									
										
										
										
											2007-07-06 19:47:17 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< meta  name = "generator"  content = "Docutils 0.5: http://docutils.sourceforge.net/"  / >  
						 
					
						
							
								
									
										
										
										
											2004-01-27 17:03:46 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								< title > Single Pass Iterator Concept< / title >  
						 
					
						
							
								
									
										
										
										
											2007-07-06 19:47:17 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< link  rel = "stylesheet"  href = "../../../rst.css"  type = "text/css"  / >  
						 
					
						
							
								
									
										
										
										
											2004-01-27 17:03:46 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								< / head >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< body >  
						 
					
						
							
								
									
										
										
										
											2004-11-02 14:31:27 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< div  class = "document"  id = "single-pass-iterator-concept" >  
						 
					
						
							
								
									
										
										
										
											2006-09-11 22:27:29 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< h1  class = "title" > Single Pass Iterator Concept< / h1 >  
						 
					
						
							
								
									
										
										
										
											2007-07-06 19:47:17 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2006-09-11 22:27:29 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								<!--  Copyright David Abrahams 2006. Distributed under the Boost  -->  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								<!--  Software License, Version 1.0. (See accompanying  -->  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								<!--  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)  -->  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< p > A class or built-in type < tt  class = "docutils literal" > < span  class = "pre" > X< / span > < / tt >  models the < em > Single Pass Iterator< / em >  
						 
					
						
							
								
									
										
										
										
											2004-01-27 17:03:46 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								concept if the following expressions are valid and respect the stated
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								semantics.< / p > 
							 
						 
					
						
							
								
									
										
										
										
											2006-09-11 22:27:29 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< table  border = "1"  class = "docutils" >  
						 
					
						
							
								
									
										
										
										
											2004-01-27 17:03:46 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								< colgroup >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< col  width = "36%"  / >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< col  width = "33%"  / >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< col  width = "31%"  / >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / colgroup >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< thead  valign = "bottom" >  
						 
					
						
							
								
									
										
										
										
											2006-09-11 22:27:29 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< tr > < th  class = "head"  colspan = "3" > Single Pass Iterator Requirements (in addition to Incrementable Iterator and Equality 
						 
					
						
							
								
									
										
										
										
											2004-01-27 17:03:46 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								Comparable)< / th > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / tr >  
						 
					
						
							
								
									
										
										
										
											2006-09-11 22:27:29 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< tr > < th  class = "head" > Expression< / th >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< th  class = "head" > Return Type< / th >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< th  class = "head" > Assertion/Semantics / 
						 
					
						
							
								
									
										
										
										
											2004-01-27 17:03:46 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								Pre-/Post-condition< / th > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / tr >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / thead >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< tbody  valign = "top" >  
						 
					
						
							
								
									
										
										
										
											2006-09-11 22:27:29 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< tr > < td > < tt  class = "docutils literal" > < span  class = "pre" > ++r< / span > < / tt > < / td >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< td > < tt  class = "docutils literal" > < span  class = "pre" > X& < / span > < / tt > < / td >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< td > pre: < tt  class = "docutils literal" > < span  class = "pre" > r< / span > < / tt >  is 
						 
					
						
							
								
									
										
										
										
											2004-01-27 17:03:46 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								dereferenceable; post:
							 
						 
					
						
							
								
									
										
										
										
											2006-09-11 22:27:29 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< tt  class = "docutils literal" > < span  class = "pre" > r< / span > < / tt >  is dereferenceable or 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< tt  class = "docutils literal" > < span  class = "pre" > r< / span > < / tt >  is past-the-end< / td >  
						 
					
						
							
								
									
										
										
										
											2004-01-27 17:03:46 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								< / tr >  
						 
					
						
							
								
									
										
										
										
											2006-09-11 22:27:29 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< tr > < td > < tt  class = "docutils literal" > < span  class = "pre" > a< / span >  < span  class = "pre" > ==< / span >  < span  class = "pre" > b< / span > < / tt > < / td >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< td > convertible to < tt  class = "docutils literal" > < span  class = "pre" > bool< / span > < / tt > < / td >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< td > < tt  class = "docutils literal" > < span  class = "pre" > ==< / span > < / tt >  is an equivalence 
						 
					
						
							
								
									
										
										
										
											2004-01-27 17:03:46 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								relation over its domain< / td > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / tr >  
						 
					
						
							
								
									
										
										
										
											2006-09-11 22:27:29 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< tr > < td > < tt  class = "docutils literal" > < span  class = "pre" > a< / span >  < span  class = "pre" > !=< / span >  < span  class = "pre" > b< / span > < / tt > < / td >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< td > convertible to < tt  class = "docutils literal" > < span  class = "pre" > bool< / span > < / tt > < / td >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< td > < tt  class = "docutils literal" > < span  class = "pre" > !(a< / span >  < span  class = "pre" > ==< / span >  < span  class = "pre" > b)< / span > < / tt > < / td >  
						 
					
						
							
								
									
										
										
										
											2004-01-27 17:03:46 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								< / tr >  
						 
					
						
							
								
									
										
										
										
											2006-09-11 22:27:29 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< tr > < td > < tt  class = "docutils literal" > < span  class = "pre" > iterator_traversal< X> ::type< / span > < / tt > < / td >  
						 
					
						
							
								
									
										
										
										
											2004-01-27 17:03:46 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								< td > Convertible to 
						 
					
						
							
								
									
										
										
										
											2006-09-11 22:27:29 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< tt  class = "docutils literal" > < span  class = "pre" > single_pass_traversal_tag< / span > < / tt > < / td >  
						 
					
						
							
								
									
										
										
										
											2004-01-27 17:03:46 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								< td >   < / td >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / tr >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / tbody >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / table >  
						 
					
						
							
								
									
										
										
										
											2007-07-06 19:47:17 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< / div >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< div  class = "footer" >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< hr  class = "footer"  / >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< a  class = "reference external"  href = "SinglePassIterator.rst" > View document source< / a > . 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								Generated by < a  class = "reference external"  href = "http://docutils.sourceforge.net/" > Docutils< / a >  from < a  class = "reference external"  href = "http://docutils.sourceforge.net/rst.html" > reStructuredText< / a >  source.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2004-01-27 17:03:46 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								< / div >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / body >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / html >