26#if ! defined (octave_load_save_h)
27#define octave_load_save_h 1
29#include "octave-config.h"
33#include <unordered_map>
89 return m_crash_dumps_octave_core;
94 return set (m_crash_dumps_octave_core, flag);
102 return m_octave_core_file_limit;
107 return set (m_octave_core_file_limit, limit);
115 return m_octave_core_file_name;
120 return set (m_octave_core_file_name, file);
128 return m_save_default_options;
133 return set (m_save_default_options, options);
141 return m_octave_core_file_options;
146 return set (m_octave_core_file_options, options);
154 return m_save_header_format_string;
159 return set (m_save_header_format_string,
format);
163 get_file_format (
const std::string& fname,
const std::string& orig_fname,
164 bool& use_zlib,
bool quiet =
false);
173 bool list_only,
bool swap,
bool verbose,
174 const string_vector& argv,
int argv_idx,
int argc,
int nargout);
178 bool& append,
bool& save_as_floats,
bool& use_zlib);
182 bool& append,
bool& save_as_floats,
bool& use_zlib);
187 bool save_as_floats,
bool write_header_info);
209 OCTINTERP_API uint32_t
221 std::unique_ptr<subsystem_handler> m_subsystem_handler;
227 bool m_crash_dumps_octave_core;
231 double m_octave_core_file_limit;
234 std::string m_octave_core_file_name;
238 std::string m_save_default_options;
241 std::string m_octave_core_file_options;
246 std::string m_save_header_format_string;
249 std::unordered_map<uint32_t, octave_value> m_mcos_object_load_cache;
252 std::unordered_map<const void *, uint32_t> m_mcos_object_save_cache;
257 OCTINTERP_API std::size_t
258 save_vars (std::ostream& os,
const std::string& pattern,
262 do_save (std::ostream& os,
const octave_value& tc,
const std::string& name,
264 bool save_as_floats);
267 do_save (std::ostream& os,
const symbol_info& syminfo,
270 OCTINTERP_API std::size_t
273 bool save_as_floats);
280 install_loaded_variable (
const std::string& name,
const octave_value& val,
281 bool global,
const std::string& );
283 static OCTINTERP_API std::string init_save_header_format ();
288 template <
typename T>
289 T set (T& var,
const T& new_val)
323OCTAVE_END_NAMESPACE(octave)
octave_value_list save(const octave_value_list &args=octave_value_list(), int nargout=0)
std::string save_header_format_string() const
subsystem_handler * get_subsystem_handler()
void save_vars(const string_vector &argv, int argv_idx, int argc, std::ostream &os, const load_save_format &fmt, bool save_as_floats, bool write_header_info)
octave_value & get_mcos_object_cache_entry(uint32_t object_id)
void create_subsystem_handler()
bool crash_dumps_octave_core() const
void clear_mcos_object_cache()
std::string octave_core_file_name(const std::string &file)
std::string octave_core_file_name() const
bool is_mcos_object_cache_entry(uint32_t object_id)
octave_value load_vars(std::istream &stream, const std::string &orig_fname, const load_save_format &fmt, mach_info::float_format flt_fmt, bool list_only, bool swap, bool verbose, const string_vector &argv, int argv_idx, int argc, int nargout)
std::string octave_core_file_options() const
double octave_core_file_limit() const
bool crash_dumps_octave_core(bool flag)
octave_value_list load(const octave_value_list &args=octave_value_list(), int nargout=0)
static load_save_format get_file_format(const std::string &fname, const std::string &orig_fname, bool &use_zlib, bool quiet=false)
double octave_core_file_limit(double limit)
void clear_subsystem_handler()
std::string octave_core_file_options(const std::string &options)
std::string save_default_options() const
std::string save_header_format_string(const std::string &format)
void set_mcos_object_cache_entry(uint32_t object_id, octave_value &obj)
std::string save_default_options(const std::string &options)
uint32_t get_mcos_object_cache_id(const void *obj, bool &new_entry)
static string_vector parse_save_options(const string_vector &argv, load_save_format &fmt, bool &append, bool &save_as_floats, bool &use_zlib)
OCTAVE_BEGIN_NAMESPACE(octave) static octave_value daspk_fcn
std::size_t format(std::ostream &os, const char *fmt,...)