diff src/procstream.h @ 4051:b79da8779a0e

[project @ 2002-08-17 19:38:32 by jwe]
author jwe
date Sat, 17 Aug 2002 19:38:33 +0000
parents 13905c3a24af
children 6e86256e9c54
line wrap: on
line diff
--- a/src/procstream.h	Sat Aug 17 02:18:18 2002 +0000
+++ b/src/procstream.h	Sat Aug 17 19:38:33 2002 +0000
@@ -28,6 +28,7 @@
 #endif
 
 #include <iostream>
+#include <string>
 
 #ifdef HAVE_SYS_TYPES_H
 #include <sys/types.h>
@@ -42,10 +43,15 @@
 
   procstreambase (void) { pb_init (); }
 
+  procstreambase (const std::string& name, int mode);
+
   procstreambase (const char *name, int mode);
 
   ~procstreambase (void) { close (); }
 
+  void open (const std::string& name, int mode)
+    { open (name.c_str (), mode); }
+
   void open (const char *name, int mode);
 
   int is_open (void) const { return pb.is_open (); }
@@ -73,11 +79,17 @@
 
   iprocstream (void) : std::istream (0), procstreambase () { }
 
+  iprocstream (const std::string& name, int mode = std::ios::in)
+    : std::istream (0), procstreambase (name, mode) { }
+
   iprocstream (const char *name, int mode = std::ios::in)
     : std::istream (0), procstreambase (name, mode) { }
 
   ~iprocstream (void) { }
 
+  void open (const std::string& name, int mode = std::ios::in)
+    { procstreambase::open (name, mode); }
+
   void open (const char *name, int mode = std::ios::in)
     { procstreambase::open (name, mode); }
 
@@ -96,11 +108,17 @@
  
   oprocstream (void) : std::ostream (0), procstreambase () { }
 
+  oprocstream (const std::string& name, int mode = std::ios::out)
+    : std::ostream (0), procstreambase(name, mode) { }
+
   oprocstream (const char *name, int mode = std::ios::out)
     : std::ostream (0), procstreambase(name, mode) { }
 
   ~oprocstream (void) { }
 
+  void open (const std::string& name, int mode = std::ios::out)
+    { procstreambase::open (name, mode); }
+
   void open (const char *name, int mode = std::ios::out)
     { procstreambase::open (name, mode); }
 
@@ -119,11 +137,17 @@
 
   procstream (void) : std::iostream (0), procstreambase () { }
 
+  procstream (const std::string& name, int mode)
+    : std::iostream (0), procstreambase (name, mode) { }
+
   procstream (const char *name, int mode)
     : std::iostream (0), procstreambase (name, mode) { }
 
   ~procstream (void) { }
 
+  void open (const std::string& name, int mode)
+    { procstreambase::open (name, mode); }
+
   void open (const char *name, int mode)
     { procstreambase::open (name, mode); }