GNU Octave 10.1.0
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
 
Loading...
Searching...
No Matches
oct-prcstrm.h
Go to the documentation of this file.
1////////////////////////////////////////////////////////////////////////
2//
3// Copyright (C) 1996-2025 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
42
43class octave_iprocstream : public octave::stdiostream
44{
45public:
46
47 octave_iprocstream (const std::string& n,
48 std::ios::openmode arg_md = std::ios::in,
49 octave::mach_info::float_format flt_fmt
50 = octave::mach_info::native_float_format (),
51 const std::string& encoding = "utf-8");
52
53 OCTAVE_DISABLE_CONSTRUCT_COPY_MOVE (octave_iprocstream)
54
55 static octave::stream
56 create (const std::string& n, std::ios::openmode arg_md = std::ios::in,
57 octave::mach_info::float_format flt_fmt
58 = octave::mach_info::native_float_format (),
59 const std::string& encoding = "utf-8");
60
61protected:
62
64};
65
66class octave_oprocstream : public octave::stdiostream
67{
68public:
69
70 octave_oprocstream (const std::string& n,
71 std::ios::openmode arg_md = std::ios::out,
72 octave::mach_info::float_format flt_fmt
73 = octave::mach_info::native_float_format (),
74 const std::string& encoding = "utf-8");
75
76 OCTAVE_DISABLE_CONSTRUCT_COPY_MOVE (octave_oprocstream)
77
78 static octave::stream
79 create (const std::string& n, std::ios::openmode arg_md = std::ios::out,
80 octave::mach_info::float_format flt_fmt
81 = octave::mach_info::native_float_format (),
82 const std::string& encoding = "utf-8");
83
84protected:
85
87};
88
89OCTAVE_END_NAMESPACE(octave)
90
91#endif
static octave::stream create(const std::string &n, std::ios::openmode arg_md=std::ios::out, octave::mach_info::float_format flt_fmt=octave::mach_info::native_float_format(), const std::string &encoding="utf-8")
OCTAVE_BEGIN_NAMESPACE(octave) static octave_value daspk_fcn