
Pavel Vozenilek wrote:
Digital Mars C++ (as in latest version 8.49.1) doesn't insert items from files like <cstdef> into std:: namespace (the headers do not use namespaces at all).
BOOST_NO_STDC_NAMESPACE is not defined for the compiler but it should. This will immediatelly help with Serialization and possibly other libraries.
Are you talking about DMC without STLport? Surely it's unusable in that state as there's no std lib?
Several libraries (e.g. Type Traits) could be updated to handle this problem, e.g. with:
#include <cstddef> // std::size_t
#include <boost/config.hpp> #if defined(BOOST_NO_STDC_NAMESPACE) #error namespace std{ using ::size_t; } // namespace std #endif
Unnecessary, Boost.Config already has that workaround for common defs like size_t and ptrdiff_t.
When such workarounds are applied and the latest STLport (5.10 beta, supporting DMC) are used quite a many libraries get usable under dmc: Optional, Variant, Program Options, etc among others.
Oh, but when I compile the Boost.Config tests with the latest DMC and STLport-4.6.3 (the one that ships with DMC) all the config tests pass (except for an internal error in config_test.cpp: the individual tests pass). Which would indicate that no defines are required: in any case doesn't STLport do the importing of names into namespace std for us? John.