<?xml version="1.0"?>
<concept name="InputIterator" category="Iterator"><!--
Based on concepts from the SGI Standard Template Library documentation:
Copyright (c) 1996-1999
Silicon Graphics Computer Systems, Inc.

Copyright (c) 1994
Hewlett-Packard Company
--><!--
Copyright 2000-2001 University of Notre Dame du Lac.
Copyright 2001-2002 Indiana University.
Some concepts based on versions from the MTL draft manual and Boost Graph
and Property Map documentation:
Copyright (c) Jeremy Siek, Lie-Quan Lee, and Andrew Lumsdaine 2000
-->
  <param name="Iter" role="iterator-type"/>

  <use-header name="iterator"/>

  <models-sentence>The iterator type <arg num="1"/> must be a model of <self/>.</models-sentence>

  <description>
  <para>An input iterator is an iterator that can read through a sequence of
  values.  It is single-pass (old values of the iterator cannot be
  re-used), and read-only.</para>

  <para>An input iterator represents a position in a sequence.  Therefore, the
  iterator can point into the sequence (returning a value when dereferenced
  and being incrementable), or be off-the-end (and not dereferenceable or
  incrementable).</para>
  </description>

  <refines const="no" concept="Assignable"/>
  <refines const="no" concept="DefaultConstructible"/>
  <refines const="no" concept="EqualityComparable"/>

  <notation variables="i j">
    <sample-value>
      <type name="Iter"/>
    </sample-value>
  </notation>

  <associated-type name="value_type">
    <get-member-type name="value_type">
      <apply-template name="std::iterator_traits">
	<type name="Iter"/>
      </apply-template>
    </get-member-type>
    <description><simpara>The value type of the iterator (not necessarily what
    <code>*i</code> returns)</simpara></description>
  </associated-type>

  <associated-type name="difference_type">
    <get-member-type name="difference_type">
      <apply-template name="std::iterator_traits">
	<type name="Iter"/>
      </apply-template>
    </get-member-type>
    <description><simpara>The difference type of the iterator</simpara></description>
  </associated-type>

  <associated-type name="category">
    <get-member-type name="iterator_category">
      <apply-template name="std::iterator_traits">
	<type name="Iter"/>
      </apply-template>
    </get-member-type>
    <description><simpara>The category of the iterator</simpara></description>
  </associated-type>

  <notation variables="x">
    <sample-value>
      <type name="value_type"/>
    </sample-value>
  </notation>

  <valid-type-expression name="Category tag">
    <description/>
    <type name="category"/>
    <return-type>
      <derived-from testable="yes">
	<type name="std::input_iterator_tag"/>
      </derived-from>
      <models-as-first-arg const="no" testable="yes" concept="DefaultConstructible"/>
      <models-as-first-arg const="no" testable="yes" concept="CopyConstructible"/>
    </return-type>
  </valid-type-expression>

  <valid-type-expression name="Value type copy constructibility">
    <description/>
    <type name="value_type"/>
    <return-type>
      <models-as-first-arg const="no" testable="yes" concept="CopyConstructible"/>
    </return-type>
  </valid-type-expression>

  <valid-type-expression name="Difference type properties">
    <description/>
    <type name="difference_type"/>
    <return-type>
      <models-as-first-arg const="no" testable="yes" concept="SignedInteger"/>
    </return-type>
  </valid-type-expression>

  <valid-expression name="Dereference">
    <dereference>
      <sample-value><type name="Iter"/></sample-value>
    </dereference>
    <return-type>
      <convertible-to testable="yes"><type name="value_type"/></convertible-to>
    </return-type>
    <precondition><code>i</code> is incrementable (not
    off-the-end)</precondition>
  </valid-expression>

  <valid-expression name="Preincrement">
    <preincrement>
      <sample-value><reference-to><type name="Iter"/></reference-to></sample-value>
    </preincrement>
    <return-type>
      <require-same-type testable="yes">
	<reference-to><type name="Iter"/></reference-to>
      </require-same-type>
    </return-type>
    <precondition><code>i</code> is incrementable (not
    off-the-end)</precondition>
  </valid-expression>

  <valid-expression name="Postincrement">
    <postincrement>
      <sample-value><reference-to><type name="Iter"/></reference-to></sample-value>
    </postincrement>
    <return-type/>
    <precondition><code>i</code> is incrementable (not
    off-the-end)</precondition>
    <semantics>Equivalent to <code>(void)(++i)</code></semantics>
    <postcondition><code>i</code> is dereferenceable or
    off-the-end</postcondition>
  </valid-expression>

  <valid-expression name="Postincrement and dereference">
    <dereference>
      <postincrement>
	<sample-value><reference-to><type name="Iter"/></reference-to></sample-value>
      </postincrement>
    </dereference>
    <return-type>
      <convertible-to testable="yes"><type name="value_type"/></convertible-to>
    </return-type>
    <precondition><code>i</code> is incrementable (not
    off-the-end)</precondition>
    <semantics>Equivalent to <code>{value_type t = *i; ++i; return t;}</code></semantics>
    <postcondition><code>i</code> is dereferenceable or
    off-the-end</postcondition>
  </valid-expression>

  <complexity>
  All iterator operations must take amortized constant time.
  </complexity>

  <example-model>
    <type name="std::istream_iterator"/>
  </example-model>

  <see-also concept="OutputIterator"/>
  <see-also concept="ForwardIterator"/>

</concept>
