Boost logo

Boost :

From: John Maddock (john_at_[hidden])
Date: 2006-06-22 05:47:58


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.


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