On Tue, Mar 08, 2005 at 02:06:48PM +0100, Giovanni Bajo wrote:

> Mark Mitchell <[EMAIL PROTECTED]> wrote:
> 
> > IMO, if these are C++-only, it's relatively easy to deprecate these
> > extension -- but I'd like to hear from Jason and Nathan, and also the
> > user community before we do that.  Of all the extensions we've had, this
> > one really hasn't been that problematic.
> 
> I would prefer them to stay. My reasons:
> 
> 1) std::min() and std::max() are not exact replacements. For instance, you
> cannot do std::min(3, 4.0f) because the arguments are of different type.
> Also, you cannot use reference to non-const types as arguments. The min/max
> exensions do not suffer from these problems (I consider the former very
> problematic, and the latter just annoying).

I was about to reply making the same point about template argument
deduction.


Whether or not the extensions get deprecated, shouldn't the docs for
them at least mention std::min and std::max, rather than only referring
to the infamous, flawed macros?

        * gcc/doc/extend.texi: Mention std::min and std::max in docs for
        min/max operators.

Patch OK for mainline?

jon

-- 
"In theory, practice and theory are the same,
 but in practice they are different."
        - Larry McVoy
Index: gcc/doc/extend.texi
===================================================================
RCS file: /cvs/gcc/gcc/gcc/doc/extend.texi,v
retrieving revision 1.241
diff -u -p -b -B -r1.241 extend.texi
--- gcc/doc/extend.texi 25 Feb 2005 18:29:28 -0000      1.241
+++ gcc/doc/extend.texi 8 Mar 2005 13:00:45 -0000
@@ -9157,6 +9157,10 @@ Since @code{<?} and @code{>?} are built 
 handle expressions with side-effects;  @[EMAIL PROTECTED] min = i++ <? j++;}}
 works correctly.
 
+The function templates @code{std::min()} and @code{std::max()} (declared
+in @code{<algorithm>}) also correctly handle expressions with side-effects
+e.g. @[EMAIL PROTECTED] min = std::min(i++, j++);}}
+
 @node Volatiles
 @section When is a Volatile Object Accessed?
 @cindex accessing volatiles

Reply via email to