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
load-save.h
Go to the documentation of this file.
1 /*
2 
3 Copyright (C) 1994-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 #if !defined (octave_load_save_h)
24 #define octave_load_save_h 1
25 
26 #include <iosfwd>
27 #include <string>
28 
29 #include "mach-info.h"
30 #include "symtab.h"
31 
32 class octave_value;
33 
34 // FIXME: maybe MAT5 and MAT7 should be options to MAT_BINARY.
35 // Similarly, save_as_floats may be an option for LS_BINARY, LS_HDF5 etc.
37 {
46 };
47 
49 {
50  // LS_MAT_ASCII options (not exclusive)
53  // LS_MAT_BINARY options
56  // zero means no option.
58 };
59 
61 {
62 public:
65  : type (t), opts (o) { }
66  operator int (void) const
67  { return type; }
68  int type, opts;
69 };
70 
71 extern void dump_octave_core (void);
72 
73 extern int
74 read_binary_file_header (std::istream& is, bool& swap,
76  bool quiet = false);
77 
78 extern octave_value
79 do_load (std::istream& stream, const std::string& orig_fname,
81  bool list_only, bool swap, bool verbose,
82  const string_vector& argv, int argv_idx, int argc, int nargout);
83 
84 extern OCTINTERP_API bool is_octave_data_file (const std::string& file);
85 
86 extern void
87 do_save (std::ostream& os, const symbol_table::symbol_record& sr,
88  load_save_format fmt, bool save_as_floats);
89 
90 extern void
91 write_header (std::ostream& os, load_save_format format);
92 
93 extern void octave_prepare_hdf5 (void);
94 
95 extern void octave_finalize_hdf5 (void);
96 
97 #endif
OCTINTERP_API bool is_octave_data_file(const std::string &file)
Definition: load-save.cc:533
load_save_format_options
Definition: load-save.h:48
void dump_octave_core(void)
Definition: load-save.cc:1392
void do_save(std::ostream &os, const symbol_table::symbol_record &sr, load_save_format fmt, bool save_as_floats)
Definition: load-save.cc:979
load_save_format(load_save_format_type t, load_save_format_options o=LS_NO_OPTION)
Definition: load-save.h:63
int read_binary_file_header(std::istream &is, bool &swap, oct_mach_info::float_format &flt_fmt, bool quiet=false)
Definition: load-save.cc:175
#define OCTINTERP_API
Definition: mexproto.h:66
void octave_prepare_hdf5(void)
Definition: load-save.cc:1265
void octave_finalize_hdf5(void)
Definition: load-save.cc:1273
void write_header(std::ostream &os, load_save_format format)
Definition: load-save.cc:1183
octave_value do_load(std::istream &stream, const std::string &orig_fname, load_save_format format, oct_mach_info::float_format flt_fmt, bool list_only, bool swap, bool verbose, const string_vector &argv, int argv_idx, int argc, int nargout)
Definition: load-save.cc:341
load_save_format_type
Definition: load-save.h:36