changeset 20925:667861ffffab

Extracted header class octave-preserve-stream-state from utils.{cc/h}. * libinterp/corefcn/octave-preserve-stream-state.h: extracted class definition. * libinterp/corefcn/module.mk: add octave-preserve-stream-state.h to build system. * libinterp/corefcn/utils.{cc/h}: extracted code of class octave-preserve-stream-state. * libinterp/corefcn/debug.cc: add new header dependency. * libinterp/corefcn/pr-output.cc: add new header dependency. * libinterp/corefcn/variables.cc: add new header dependency. * libinterp/corefcn/ov-base-sparse.cc: add new header dependency.
author Kai T. Ohlhus <k.ohlhus@gmail.com>
date Thu, 17 Dec 2015 16:19:51 +0100
parents e74e617060cf
children 5df1d099e56d
files libinterp/corefcn/debug.cc libinterp/corefcn/module.mk libinterp/corefcn/octave-preserve-stream-state.h libinterp/corefcn/pr-output.cc libinterp/corefcn/utils.cc libinterp/corefcn/utils.h libinterp/corefcn/variables.cc libinterp/octave-value/ov-base-sparse.cc
diffstat 8 files changed, 58 insertions(+), 29 deletions(-) [+]
line wrap: on
line diff
--- a/libinterp/corefcn/debug.cc	Thu Dec 17 16:14:24 2015 +0100
+++ b/libinterp/corefcn/debug.cc	Thu Dec 17 16:19:51 2015 +0100
@@ -45,6 +45,7 @@
 #include "parse.h"
 #include "symtab.h"
 #include "gripes.h"
+#include "octave-preserve-stream-state.h"
 #include "ov.h"
 #include "ov-usr-fcn.h"
 #include "ov-fcn.h"
--- a/libinterp/corefcn/module.mk	Thu Dec 17 16:14:24 2015 +0100
+++ b/libinterp/corefcn/module.mk	Thu Dec 17 16:19:51 2015 +0100
@@ -74,6 +74,7 @@
   libinterp/corefcn/oct.h \
   libinterp/corefcn/octave-default-image.h \
   libinterp/corefcn/octave-link.h \
+  libinterp/corefcn/octave-preserve-stream-state.h \
   libinterp/corefcn/pager.h \
   libinterp/corefcn/pr-output.h \
   libinterp/corefcn/procstream.h \
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/libinterp/corefcn/octave-preserve-stream-state.h	Thu Dec 17 16:19:51 2015 +0100
@@ -0,0 +1,53 @@
+/*
+
+Copyright (C) 1993-2015 John W. Eaton
+
+This file is part of Octave.
+
+Octave is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+Octave is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with Octave; see the file COPYING.  If not, see
+<http://www.gnu.org/licenses/>.
+
+*/
+
+#if ! defined (octave_preserve_stream_state_h)
+#define octave_preserve_stream_state_h 1
+
+class
+octave_preserve_stream_state
+{
+public:
+
+  octave_preserve_stream_state (std::ios& s)
+    : stream (s), oflags (s.flags ()), oprecision (s.precision ()),
+      owidth (s.width ()), ofill (s.fill ())
+  { }
+
+  ~octave_preserve_stream_state (void)
+  {
+    stream.flags (oflags);
+    stream.precision (oprecision);
+    stream.width (owidth);
+    stream.fill (ofill);
+  }
+
+private:
+
+  std::ios& stream;
+  std::ios::fmtflags oflags;
+  std::streamsize oprecision;
+  int owidth;
+  char ofill;
+};
+
+#endif
--- a/libinterp/corefcn/pr-output.cc	Thu Dec 17 16:14:24 2015 +0100
+++ b/libinterp/corefcn/pr-output.cc	Thu Dec 17 16:19:51 2015 +0100
@@ -51,6 +51,7 @@
 #include "gripes.h"
 #include "oct-obj.h"
 #include "oct-stream.h"
+#include "octave-preserve-stream-state.h"
 #include "pager.h"
 #include "pr-output.h"
 #include "sysdep.h"
--- a/libinterp/corefcn/utils.cc	Thu Dec 17 16:14:24 2015 +0100
+++ b/libinterp/corefcn/utils.cc	Thu Dec 17 16:19:51 2015 +0100
@@ -1516,14 +1516,6 @@
   return retval;
 }
 
-octave_preserve_stream_state::~octave_preserve_stream_state (void)
-{
-  stream.flags (oflags);
-  stream.precision (oprecision);
-  stream.width (owidth);
-  stream.fill (ofill);
-}
-
 DEFUN (isstudent, args, ,
        "-*- texinfo -*-\n\
 @deftypefn {} {} isstudent ()\n\
--- a/libinterp/corefcn/utils.h	Thu Dec 17 16:14:24 2015 +0100
+++ b/libinterp/corefcn/utils.h	Thu Dec 17 16:19:51 2015 +0100
@@ -130,25 +130,4 @@
 do_simple_cellfun (octave_value_list (*fun) (const octave_value_list&, int),
                    const char *fun_name, const octave_value_list& args);
 
-class
-octave_preserve_stream_state
-{
-public:
-
-  octave_preserve_stream_state (std::ios& s)
-    : stream (s), oflags (s.flags ()), oprecision (s.precision ()),
-      owidth (s.width ()), ofill (s.fill ())
-  { }
-
-  ~octave_preserve_stream_state (void);
-
-private:
-
-  std::ios& stream;
-  std::ios::fmtflags oflags;
-  std::streamsize oprecision;
-  int owidth;
-  char ofill;
-};
-
 #endif
--- a/libinterp/corefcn/variables.cc	Thu Dec 17 16:14:24 2015 +0100
+++ b/libinterp/corefcn/variables.cc	Thu Dec 17 16:19:51 2015 +0100
@@ -50,6 +50,7 @@
 #include "lex.h"
 #include "load-path.h"
 #include "octave-link.h"
+#include "octave-preserve-stream-state.h"
 #include "oct-map.h"
 #include "oct-obj.h"
 #include "ov.h"
--- a/libinterp/octave-value/ov-base-sparse.cc	Thu Dec 17 16:14:24 2015 +0100
+++ b/libinterp/octave-value/ov-base-sparse.cc	Thu Dec 17 16:19:51 2015 +0100
@@ -41,6 +41,7 @@
 
 #include "boolSparse.h"
 #include "ov-base-sparse.h"
+#include "octave-preserve-stream-state.h"
 #include "pager.h"
 #include "utils.h"