]> git.mxchange.org Git - simgear.git/commitdiff
fgrun fixes
authorehofman <ehofman>
Thu, 11 Dec 2003 13:17:45 +0000 (13:17 +0000)
committerehofman <ehofman>
Thu, 11 Dec 2003 13:17:45 +0000 (13:17 +0000)
simgear/compatibility/fstream
simgear/compiler.h

index bcc00e2a6581efdcad0fa54d2fb71dbf1817629c..5757a28f9de983a04fdf581853ddd905746d7c1b 100644 (file)
@@ -8,8 +8,28 @@
 
   namespace std {
     using ::fstream;
-    using ::ifstream;
     using ::ofstream;
+
+# ifdef SG_HAVE_NATIVE_SGI_COMPILERS
+    using ::ifstream;
+# else
+    class ifstream : public ::ifstream {
+    private:
+       ::ifstream *ifs;
+    public:
+       ifstream() { ifs = new ::ifstream(); }
+       ifstream(int fd) { ifs = new ::ifstream(fd); }
+       ifstream(int fd, char*  p, int l) { ifs = new ::ifstream(fd, p, l); }
+       ifstream(const char* name, int mode=ios::in, int prot=filebuf::openprot)
+          { ifs = new ::ifstream(name, mode, prot); };
+       ~ifstream() { delete ifs; }
+
+       filebuf* rdbuf() { return ifs->rdbuf(); }
+       void open(const char* name, int mode=ios::in, int prot=filebuf::openprot)
+          { ifs->open(name, mode, prot); }
+       int is_open() { return (!ifs->fail() && !ifs->eof()); }
+    };
+# endif
   };
 
 
index f80697d549d58c52a91e5a3f959249fad94253d0..a709b9011664b423f1d509c2c6333ecf6640d27e 100644 (file)
 #  define STL_ITERATOR   <iterator>
 #  define STL_FSTREAM    <fstream>
 #  define STL_STDEXCEPT  <stdexcept>
+#if (_COMPILER_VERSION < 740)
 #  define STL_STRING     <simgear/compatibility/irix_string>
+#else
+#  define STL_STRING     <string>
+#endif
 #  define STL_STRSTREAM  <strstream>
 
 #pragma set woff 1001,1012,1014,1116,1155,1172,1174