rootpy/root_numpy — pull request #118 by havoc-io (2013-11-06 15:32:37+00:00)
Title: Fix compatibility with root_numpy and libc++.

Two header files (Column.h and BetterChain.h) contained 'using namespace
std;' directives. Not only is this bad practice for C++ *header* files,
but it also causes compatibility issues with Cython-generated C++ code
when compiling against libc++ (e.g. on Mac OS X 10.9). The issue arises
due to Cython utility functions using non-namespaced C stdlib functions
(e.g. isspace). When these two root_numpy headers were included, they
caused an amiguity error by exposing 's std::isspace method.
This seems to not have been an issue with GNU libstdc++, but libc++'s
more strict adherence to standards did not like this.

The solution here is simply to prefix all std::-namespace symbols in
these two headers and remove the 'using namespace std;' directives.

One might argue that Cython should std::-prefix their function use, but
the reality is that their routines still need to support C, and their
routines do work if users don't pull in the entire std:: C++ namespace,
so I don't think this is worth commenting about upstream.