|
Boost : |
From: John Maddock (john_at_[hidden])
Date: 2004-01-21 06:42:49
> They are directly and explicitly included by Serialization library.
Then your code will fail to compile with conforming compilers - those
headers do things like:
#include <math.h>
namespace std {
using ::acos;
using ::cos;
using ::fmod;
using ::modf;
using ::tan;
// etc
}
But conforming compilers will already have those symbols declared in
namespace std, so you will get a compile error! In addition, you needlessly
pollute the contents of the global namespace with the contents of math.h as
well.
Normally boost libraries check for BOOST_NO_STDC_NAMESPACE:
#ifdef BOOST_NO_STDC_NAMESPACE
namespace std{ /* make available what we actually use here */ }
#endif
John.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk