GNU Octave 7.1.0
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
oct-prcstrm.h
Go to the documentation of this file.
1////////////////////////////////////////////////////////////////////////
2//
3// Copyright (C) 1996-2022 The Octave Project Developers
4//
5// See the file COPYRIGHT.md in the top-level directory of this
6// distribution or <https://octave.org/copyright/>.
7//
8// This file is part of Octave.
9//
10// Octave is free software: you can redistribute it and/or modify it
11// under the terms of the GNU General Public License as published by
12// the Free Software Foundation, either version 3 of the License, or
13// (at your option) any later version.
14//
15// Octave is distributed in the hope that it will be useful, but
16// WITHOUT ANY WARRANTY; without even the implied warranty of
17// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18// GNU General Public License for more details.
19//
20// You should have received a copy of the GNU General Public License
21// along with Octave; see the file COPYING. If not, see
22// <https://www.gnu.org/licenses/>.
23//
24////////////////////////////////////////////////////////////////////////
25
26#if ! defined (octave_oct_prcstrm_h)
27#define octave_oct_prcstrm_h 1
28
29#include "octave-config.h"
30
31#include "oct-stdstrm.h"
32
33// FIXME: why don't these classes use iprocstream and oprocstream,
34// which in turn use the octave_procbuf class?
35
36// Note: Even though these classes are now inside the octave namespace,
37// we can't rename them to iprocstream and oprocstream because we
38// already have classes with those names (see procstream.h). We need to
39// find a way to resolve this naming issue.
40
41OCTAVE_NAMESPACE_BEGIN
42
43class
44octave_iprocstream : public octave::stdiostream
45{
46public:
47
48 octave_iprocstream (const std::string& n,
49 std::ios::openmode arg_md = std::ios::in,
52 const std::string& encoding = "utf-8");
53
54 // No copying!
55
57
58 octave_iprocstream& operator = (const octave_iprocstream&) = delete;
59
60 static octave::stream
61 create (const std::string& n, std::ios::openmode arg_md = std::ios::in,
64 const std::string& encoding = "utf-8");
65
66protected:
67
69};
70
71class
72octave_oprocstream : public octave::stdiostream
73{
74public:
75
76 octave_oprocstream (const std::string& n,
77 std::ios::openmode arg_md = std::ios::out,
80 const std::string& encoding = "utf-8");
81
82 // No copying!
83
85
86 octave_oprocstream& operator = (const octave_oprocstream&) = delete;
87
88 static octave::stream
89 create (const std::string& n, std::ios::openmode arg_md = std::ios::out,
92 const std::string& encoding = "utf-8");
93
94protected:
95
97};
98
99OCTAVE_NAMESPACE_END
100
101#if defined (OCTAVE_PROVIDE_DEPRECATED_SYMBOLS)
102
103OCTAVE_DEPRECATED (7, "use 'octave::octave_iprocstream' instead")
105
106OCTAVE_DEPRECATED (7, "use 'octave::octave_oprocstream' instead")
108
109#endif
110
111#endif
octave_iprocstream(const octave_iprocstream &)=delete
octave_oprocstream(const octave_oprocstream &)=delete
float_format native_float_format(void)
Definition: mach-info.cc:65