onstraints()
    {
      i += n;
      ...
    }
    typename std::iterator_traits&lt;RandomAccessIterator&gt;
      ::difference_type n;
    Iter i;
    ...
  };
</pre>

We can still use the function pointer mechanism to cause instantiation
of the constraints function, however now it will be a member function
pointer. To make it easy for the library implementor to invoke the
concept checks, we wrap the member function pointer mechanism in a
function named <tt>function_requires()</tt>. The following code
sn