Boost logo

Boost :

From: David Abrahams (abrahams_at_[hidden])
Date: 2000-06-27 08:38:07


----- Original Message -----
From: "Mark Rodgers" <mark.rodgers_at_[hidden]>

> As it is, it is in the global namespace. For GCC we define
> BOOST_NO_OPERATORS_IN_NAMESPACE so the condition
>
> #if !defined(BOOST_NO_OPERATORS_IN_NAMESPACE)
> && !defined(BOOST_NO_USING_TEMPLATE)
> namespace boost
> ...
>
> evaluates to false so operators and operators2 are NOT in boost.

I see now.
But I changed it to say
#if !(defined(BOOST_NO_OPERATORS_IN_NAMESPACE)
     && defined(BOOST_NO_USING_TEMPLATE))

and it still works with GCC.

> There are two instances of BOOST_NO_USING_TEMPLATE and neither do
> anything useful - the expression will already have been evaluated to
> false before BOOST_NO_USING_TEMPLATE is considered, so I think we
> should just remove it.

I disagree. I think it's better to keep as much stuff as possible out of the
global namespace. If we can make it work for GCC, we should only do the ugly
workaround for Borland.

-Dave


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