Thanks Vincent for noticing. The old test was slightly off, the C++98 standard
guarantees that __cplusplus is defined as 199711L, not 19971L.
// if libc++ is used (rather than libstdc++) - we first
// check if we have at least a c++03 standard before
// including the file
-#if (__cplusplus > 19971L)
+#if (__cplusplus > 199711L)
#include <ciso646>
#endif
iparserdocstream(idocstream & is) : is_(is) {}
-#if (__cplusplus > 19971L)
+#if (__cplusplus > 199711L)
/// Like std::istream::operator bool()
/// Do not convert is_ implicitly to bool, since that is forbidden in C++11.
explicit operator bool() const { return s_.empty() ? !is_.fail() : true; }