Boost logo

Boost :

From: Gennaro Prota (gennaro_prota_at_[hidden])
Date: 2002-09-01 06:38:27

On Sun, 1 Sep 2002 11:41:28 +0100, "John Maddock"
<jm_at_[hidden]> wrote:

>It's a namespace handling bug, the code that gets triggered in this case is
>(at least I think I've got this right):
>#if !defined(_STLP_OWN_IOSTREAMS) && defined(_STLP_USE_NAMESPACES) &&
>defined(BOOST_NO_USING_TEMPLATE) && !defined(__BORLANDC__)
>the problem is that things like:
>const std::ctype<char>* pct;
>don't compile !!

But in my situation they compile. And, since I'm using STLport's
iostreams, I expected the macro _STLP_OWN_IOSTREAMS to be defined.

I have checked the STLport docs and it seems that the "official" macro
is _STLP_NO_OWN_IOSTREAMS (with the "no" inside), not
_STLP_OWN_IOSTREAMS. Of course one would expect that when either is
defined the other isn't, but in my case they are both undefined. I
don't know if this intentional or a problem in the STLport code.

Anyhow, considering that only _STLP_NO_OWN_IOSTREAMS is clearly
documented, isn't just that the above code from config/suffix.hpp
should be written as:

#if defined(_STLP_NO_OWN_IOSTREAMS) // <---
 && defined(_STLP_USE_NAMESPACES) &&
defined(BOOST_NO_USING_TEMPLATE) && !defined(__BORLANDC__)



Boost list run by bdawes at, gregod at, cpdaniel at, john at