  /// \fn is_sorted_until ( ForwardIterator first, ForwardIterator last, Pred p ) /// \return the point in the sequence [first, last) where the elements are unordered ///     (according to the comparison predicate 'p'). ///  /// \param first The start of the sequence to be tested. /// \param last  One past the end of the sequence /// \param p     A binary predicate that returns true if two elements are ordered. ///     template <typename ForwardIterator, typename Pred>     ForwardIterator is_sorted_until ( ForwardIterator first, ForwardIterator last, Pred p )     {         