GNU Octave  4.2.1
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
oct-iostrm.cc
Go to the documentation of this file.
1 /*
2 
3 Copyright (C) 1996-2017 John W. Eaton
4 
5 This file is part of Octave.
6 
7 Octave is free software; you can redistribute it and/or modify it
8 under the terms of the GNU General Public License as published by the
9 Free Software Foundation; either version 3 of the License, or (at your
10 option) any later version.
11 
12 Octave is distributed in the hope that it will be useful, but WITHOUT
13 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
14 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
15 for more details.
16 
17 You should have received a copy of the GNU General Public License
18 along with Octave; see the file COPYING. If not, see
19 <http://www.gnu.org/licenses/>.
20 
21 */
22 
23 #if defined (HAVE_CONFIG_H)
24 # include "config.h"
25 #endif
26 
27 #include "error.h"
28 #include "oct-iostrm.h"
29 
30 // Position a stream at OFFSET relative to ORIGIN.
31 
32 int
34 {
36  return -1;
37 }
38 
39 // Return current stream position.
40 
41 off_t
43 {
45  return -1;
46 }
47 
48 // Return nonzero if EOF has been reached on this stream.
49 
50 bool
52 {
54  return false;
55 }
56 
57 void
59 {
60  // Note: use ::error to get error from error.h which halts operation.
61  ::error ("%s: invalid operation", stream_type ());
62 }
63 
64 // Return nonzero if EOF has been reached on this stream.
65 
66 bool
67 octave_istream::eof (void) const
68 {
69  return is && is->eof ();
70 }
71 
73 octave_istream::create (std::istream *arg, const std::string& n)
74 {
75  return octave_stream (new octave_istream (arg, n));
76 }
77 
78 // Return nonzero if EOF has been reached on this stream.
79 
80 bool
81 octave_ostream::eof (void) const
82 {
83  return os && os->eof ();
84 }
85 
87 octave_ostream::create (std::ostream *arg, const std::string& n)
88 {
89  return octave_stream (new octave_ostream (arg, n));
90 }
int seek(off_t offset, int origin)
Definition: oct-iostrm.cc:33
bool eof(void) const
Definition: oct-iostrm.cc:67
std::istream * is
Definition: oct-iostrm.h:106
static octave_stream create(std::ostream *arg, const std::string &n="")
Definition: oct-iostrm.cc:87
octave_value arg
Definition: pr-output.cc:3440
bool eof(void) const
Definition: oct-iostrm.cc:81
void invalid_operation(void) const
Definition: oct-iostrm.cc:58
static octave_stream create(std::istream *arg=0, const std::string &n="")
Definition: oct-iostrm.cc:73
bool eof(void) const
Definition: oct-iostrm.cc:51
std::string error(bool clear, int &err_num)
Definition: oct-stream.cc:5882
virtual const char * stream_type(void) const =0
friend class octave_stream
Definition: oct-stream.h:61
If this string is the system will ring the terminal sometimes it is useful to be able to print the original representation of the string
Definition: utils.cc:854
off_t tell(void)
Definition: oct-iostrm.cc:42
std::ostream * os
Definition: oct-iostrm.h:145