Boost logo

Boost :

From: Pavel Vozenilek (pavel_vozenilek_at_[hidden])
Date: 2006-06-21 17:13:52


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.

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

or with:

#include <boost/config.hpp>
#ifdef BOOST_NO_STDC_NAMESPACE
# include <boost/compatibility/cpp_c_headers/cstddef>
#else
# include <cstddef>
#endif

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.

/Pavel


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk