|
Boost Testing : |
From: Jim Douglas (jim_at_[hidden])
Date: 2006-01-24 04:43:28
John,
Before I submit this point to QNX please comment on the text below taken
from the QNX documentation for the Dinkumware C++ library.
[JD]
>>The way this library is constructed seems to be that in general if you
>>use the C++ 'c*' equivalent of a C '*.h' header, all the functions get
>>promoted into the std namespace. This is not the first time we have
>>encountered this problem.
>
[JM]
> Just to clarify: if the symbol is part of the C++ std then it should be in
> namespace std only when you include the <c*> header. However, symbols that
> are not part of the C++ std (log1p, expm1 etc) should *never* be in
> namespace std, at least according to the letter of the std.
//-- QNX/Dinkumware docs for 'cmath'.
(c) 1992-2002 by P.J.Plauger. All rights reserved.
Include the standard header <cmath> to define the macros traditionally
defined in the Standard C library header <math.h>. Including this header
also ensures that the names declared with external linkage in the
Standard C library header are declared in the std namespace. In this
implementation, the names may or may not also be declared in the global
namespace, depending on the specific translation environment.
#if <TRADITIONAL C HEADERS>
#include <math.h>
#endif
//--------------------------------
Jim