Boost logo

Boost :

From: Gennaro Prota (gennaro_prota_at_[hidden])
Date: 2003-02-13 12:09:56


On Thu, 13 Feb 2003 12:01:47 -0000, "John Maddock"
<jm_at_[hidden]> wrote:

>I'm not sure if this is due to a compiler bug or what, but basically it's
>due to the way that STLport is set up: the names are declared in namespace
>stlport (which is an alias for either _STL or _STLD depending upon the
>build), and then imported into std with:
>
>namespace std{
>using namespace stlport;
>}
>
>in STLports _suffix.h. This works fine for most cases, but not when the
>name is already present in namespace std (as is the case with the is*
>functions for example).

Ah! I didn't realize this was the case! Yes, that's how qualified
lookup for namespace members works; if there's a direct declaration of
the searched name in the nominated namespace then any using directive
contained therein is ignored (for the purpose of looking up the name).
Strictly speaking, the standard refers that rule to user-declared
namespaces, not std. However... :-)

Genny.


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