GNU Octave  4.0.0
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-2015 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 #ifdef 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  ::error ("%s: invalid operation", stream_type ());
61 }
62 
63 // Return nonzero if EOF has been reached on this stream.
64 
65 bool
66 octave_istream::eof (void) const
67 {
68  return is && is->eof ();
69 }
70 
72 octave_istream::create (std::istream *arg, const std::string& n)
73 {
74  return octave_stream (new octave_istream (arg, n));
75 }
76 
77 // Return nonzero if EOF has been reached on this stream.
78 
79 bool
80 octave_ostream::eof (void) const
81 {
82  return os && os->eof ();
83 }
84 
86 octave_ostream::create (std::ostream *arg, const std::string& n)
87 {
88  return octave_stream (new octave_ostream (arg, n));
89 }
int seek(off_t offset, int origin)
Definition: oct-iostrm.cc:33
bool eof(void) const
Definition: oct-iostrm.cc:66
std::istream * is
Definition: oct-iostrm.h:104
bool eof(void) const
Definition: oct-iostrm.cc:80
void invalid_operation(void) const
Definition: oct-iostrm.cc:58
bool eof(void) const
Definition: oct-iostrm.cc:51
std::string error(bool clear, int &err_num)
Definition: oct-stream.cc:2801
double arg(double x)
Definition: lo-mappers.h:37
virtual const char * stream_type(void) const =0
friend class octave_stream
Definition: oct-stream.h:331
static octave_stream create(std::istream *arg=0, const std::string &n=std::string())
Definition: oct-iostrm.cc:72
static octave_stream create(std::ostream *arg, const std::string &n=std::string())
Definition: oct-iostrm.cc:86
off_t tell(void)
Definition: oct-iostrm.cc:42
std::ostream * os
Definition: oct-iostrm.h:143