Octave-Forge - Extra packages for GNU Octave | |
Home · Packages · Developers · Documentation · FAQ · Bugs · Mailing Lists · Links · Code |
00001 /* 00002 00003 Copyright (C) 1996, 1997, 1999, 2000, 2003, 2004, 2005, 2006, 2007 00004 John W. Eaton 00005 00006 This file is part of Octave. 00007 00008 Octave is free software; you can redistribute it and/or modify it 00009 under the terms of the GNU General Public License as published by the 00010 Free Software Foundation; either version 3 of the License, or (at your 00011 option) any later version. 00012 00013 Octave is distributed in the hope that it will be useful, but WITHOUT 00014 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 00015 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 00016 for more details. 00017 00018 You should have received a copy of the GNU General Public License 00019 along with Octave; see the file COPYING. If not, see 00020 <http://www.gnu.org/licenses/>. 00021 00022 */ 00023 00024 #if !defined (octave_octave_procstream_h) 00025 #define octave_octave_procstream_h 1 00026 00027 #include "oct-stdstrm.h" 00028 00029 // FIXME -- why don't these classes use iprocstream and 00030 // oprocstream, which in turn use the octave_procbuf class? 00031 00032 class 00033 octave_iprocstream : public octave_stdiostream 00034 { 00035 public: 00036 00037 octave_iprocstream (const std::string& n, 00038 std::ios::openmode arg_md = std::ios::in, 00039 oct_mach_info::float_format flt_fmt 00040 = oct_mach_info::native_float_format ()); 00041 00042 static octave_stream 00043 create (const std::string& n, std::ios::openmode arg_md = std::ios::in, 00044 oct_mach_info::float_format flt_fmt 00045 = oct_mach_info::native_float_format ()); 00046 00047 protected: 00048 00049 ~octave_iprocstream (void); 00050 00051 private: 00052 00053 // No copying! 00054 00055 octave_iprocstream (const octave_iprocstream&); 00056 00057 octave_iprocstream& operator = (const octave_iprocstream&); 00058 }; 00059 00060 class 00061 octave_oprocstream : public octave_stdiostream 00062 { 00063 public: 00064 00065 octave_oprocstream (const std::string& n, 00066 std::ios::openmode arg_md = std::ios::out, 00067 oct_mach_info::float_format flt_fmt 00068 = oct_mach_info::native_float_format ()); 00069 00070 static octave_stream 00071 create (const std::string& n, std::ios::openmode arg_md = std::ios::out, 00072 oct_mach_info::float_format flt_fmt 00073 = oct_mach_info::native_float_format ()); 00074 00075 protected: 00076 00077 ~octave_oprocstream (void); 00078 00079 private: 00080 00081 // No copying! 00082 00083 octave_oprocstream (const octave_oprocstream&); 00084 00085 octave_oprocstream& operator = (const octave_oprocstream&); 00086 }; 00087 00088 #endif 00089 00090 /* 00091 ;;; Local Variables: *** 00092 ;;; mode: C++ *** 00093 ;;; End: *** 00094 */