 technique
with GNU C++, Microsoft Visual C++, and several EDG-based compilers
(KAI C++, SGI MIPSpro).  The following code shows how this technique
can be applied to the <tt>std::stable_sort()</tt> function:

<pre>
  template &lt;class RandomAccessIterator&gt;
  void stable_sort_constraints(RandomAccessIterator i)
  {
    typename std::iterator_traits&lt;RandomAccessIterator&gt;
      ::difference_type n;
    i += n;  // exercise the requirements for RandomAccessIterator
    ...
  }
  template &lt;class Ran