]> git.lyx.org Git - lyx.git/blobdiff - src/tex2lyx/Parser.h
Pimpl MathMacro
[lyx.git] / src / tex2lyx / Parser.h
index 15832f9fa7d739c3a8c975683c4ae295ad70f9c4..9778765ed6f2dce76c8c244f16e13576a64ae9ea 100644 (file)
@@ -125,8 +125,15 @@ public:
 
        iparserdocstream(idocstream & is) : is_(is) {}
 
+#if (__cplusplus > 199711L)
        /// Like std::istream::operator bool()
-       operator bool() const { return s_.empty() ? is_ : true; }
+       /// Do not convert is_ implicitly to bool, since that is forbidden in C++11.
+       explicit operator bool() const { return s_.empty() ? !is_.fail() : true; }
+#else
+       /// Like std::istream::operator void*()
+       operator void*() const { return (s_.empty() && is_.fail()) ?
+                       0 : const_cast<iparserdocstream *>(this); }
+#endif
 
        /// change the encoding of the input stream to \p e (iconv name)
        void setEncoding(std::string const & e);