At 11:41 03.02.2003, you wrote:
Hi Joerg, hi Julius,
I am not sure whether the message
http://groups.google.com/groups?selm=3E23CE08.893428D0%40bdal.de
from comp.lang.c++.moderated is on topic ;o),
but maybe it is worth a look.
Thanks. The message is exactly on topic. The author presents a nice program that determines the availability of abs overloads, and a reply to this message explains that
I checked that with .NET, and he is right. With /Za (disable language extensions), double abs(double) and the whole load of float sin(float) etc. is indeed declared and ublas::type_traits<double> works also with .NET.
But .NET with /Za is not exactly what I think most people want. For example, you can't even define private member functions with private return values outside of the class definition. Look at the following lines which are copied and pasted from the Standard, clause 11:
VC. NET with /Za complains that I cannot use A::I etc because it's private.
Back to the BOOST_NO_STDC_NAMESPACE issue:
Only if /Za is set and thus _MSC_EXTENSIONS is undefined, then VC .NET seems to have all declarations for the math function overloads properly.
Maybe you could make the #define of BOOST_NO_STDC_NAMESPACE for VC .NET depend on the _MSC_EXTENSIONS switch: If _MSC_EXTENSIONS is defined, the math function overloads are missing and BOOST_NO_STDC_NAMESPACE should be defined.
Julius
Julius Muschaweck
_____________________________________________________
OEC AG
Paul-Gerhardt-Allee 42
81245 Muenchen, Germany
Phone: +49 89 820050-30
Fax: +49 89 820050-41
e-mail: <[EMAIL PROTECTED]>
Internet:
www.oec.net
______________________________________________________