23 #if ! defined (octave_file_ops_h)
24 #define octave_file_ops_h 1
26 #include "octave-config.h"
30 #include <sys/types.h>
48 file_ops (
char dev_sep_char_arg = 0,
char dir_sep_char_arg = 0,
51 : m_dev_sep_char (dev_sep_char_arg),
52 m_dir_sep_char (dir_sep_char_arg),
53 m_dir_sep_str (dir_sep_str_arg),
54 m_dir_sep_chars (dir_sep_chars_arg) { }
70 return instance_ok () ? instance->m_dev_sep_char : 0;
73 static bool is_dev_sep (
char c);
77 return instance_ok () ? instance->m_dir_sep_char : 0;
82 return instance_ok () ? instance->m_dir_sep_str :
"";
87 return instance_ok () ? instance->m_dir_sep_chars :
"";
93 return tmp.find (c) != std::string::npos;
107 size_t ipos = path.find_last_of (dir_sep_chars ());
109 return (ipos != std::string::npos) ? path.substr (0, ipos) :
"";
115 size_t ipos = path.find_last_of (dir_sep_chars ());
117 if (ipos != std::string::npos)
122 return path.substr (ipos);
140 static bool instance_ok (
void);
153 extern OCTAVE_API
int
156 extern OCTAVE_API
int
159 extern OCTAVE_API
int
162 extern OCTAVE_API
int
165 extern OCTAVE_API
int
168 extern OCTAVE_API
int
171 extern OCTAVE_API
int
174 extern OCTAVE_API
int
177 extern OCTAVE_API
int
180 extern OCTAVE_API
int
183 extern OCTAVE_API
int
186 extern OCTAVE_API
int
189 extern OCTAVE_API
int
192 extern OCTAVE_API
int
195 extern OCTAVE_API
int
198 extern OCTAVE_API
int
201 extern OCTAVE_API
int
204 extern OCTAVE_API
int
207 extern OCTAVE_API
int
224 #if defined (OCTAVE_USE_DEPRECATED_FUNCTIONS)
226 OCTAVE_DEPRECATED (
"use 'octave::sys::file_ops' instead")
227 typedef
octave::sys::file_ops file_ops;
229 OCTAVE_DEPRECATED ("use '
octave::sys::
mkdir' instead")
231 octave_mkdir (const
std::
string&
nm, mode_t md)
236 OCTAVE_DEPRECATED (
"use 'octave::sys::mkdir' instead")
238 octave_mkdir (const
std::
string&
nm, mode_t md,
std::
string& msg)
243 OCTAVE_DEPRECATED (
"use 'octave::sys::mkfifo' instead")
245 octave_mkfifo (const
std::
string&
nm, mode_t md)
250 OCTAVE_DEPRECATED (
"use 'octave::sys::mkfifo' instead")
252 octave_mkfifo (const
std::
string&
nm, mode_t md,
std::
string& msg)
257 OCTAVE_DEPRECATED (
"use 'octave::sys::link' instead")
264 OCTAVE_DEPRECATED (
"use 'octave::sys::link' instead")
272 OCTAVE_DEPRECATED (
"use 'octave::sys::symlink' instead")
274 octave_symlink (const
std::
string& old_name, const
std::
string& new_name)
279 OCTAVE_DEPRECATED (
"use 'octave::sys::symlink' instead")
281 octave_symlink (const
std::
string& old_name, const
std::
string& new_name,
287 OCTAVE_DEPRECATED (
"use 'octave::sys::readlink' instead")
289 octave_readlink (const
std::
string& path,
std::
string&
result)
294 OCTAVE_DEPRECATED (
"use 'octave::sys::readlink' instead")
296 octave_readlink (const
std::
string& path,
std::
string&
result,
std::
string& msg)
301 OCTAVE_DEPRECATED (
"use 'octave::sys::rename' instead")
303 octave_rename (const
std::
string& from, const
std::
string&
to)
308 OCTAVE_DEPRECATED (
"use 'octave::sys::rename' instead")
310 octave_rename (const
std::
string& from, const
std::
string&
to,
std::
string& msg)
315 OCTAVE_DEPRECATED (
"use 'octave::sys::rmdir' instead")
317 octave_rmdir (const
std::
string&
nm)
322 OCTAVE_DEPRECATED (
"use 'octave::sys::rmdir' instead")
324 octave_rmdir (const
std::
string&
nm,
std::
string& msg)
329 OCTAVE_DEPRECATED (
"use 'octave::sys::recursive_rmdir' instead")
331 octave_recursive_rmdir (const
std::
string&
nm)
336 OCTAVE_DEPRECATED (
"use 'octave::sys::recursive_rmdir' instead")
338 octave_recursive_rmdir (const
std::
string&
nm,
std::
string& msg)
343 OCTAVE_DEPRECATED (
"use 'octave::sys::umask' instead")
345 octave_umask (mode_t md)
350 OCTAVE_DEPRECATED (
"use 'octave::sys::unlink' instead")
352 octave_unlink (const
std::
string&
nm)
357 OCTAVE_DEPRECATED (
"use 'octave::sys::unlink' instead")
359 octave_unlink (const
std::
string&
nm,
std::
string& msg)
364 OCTAVE_DEPRECATED (
"use 'octave::sys::tempnam' instead")
366 octave_tempnam (const
std::
string& dir, const
std::
string& pfx)
371 OCTAVE_DEPRECATED (
"use 'octave::sys::tempnam' instead")
373 octave_tempnam (const
std::
string& dir, const
std::
string& pfx,
379 OCTAVE_DEPRECATED (
"use 'octave::sys::canonicalize_file_name' instead")
381 octave_canonicalize_file_name (const
std::
string&
nm)
386 OCTAVE_DEPRECATED (
"use 'octave::sys::canonicalize_file_name' instead")
388 octave_canonicalize_file_name (const
std::
string&
nm,
std::
string& msg)
static std::string dir_sep_str(void)
Octave interface to the compression and uncompression libraries.
static std::string dirname(const std::string &path)
std::string canonicalize_file_name(const std::string &name)
static std::string tail(const std::string &path)
file_ops(char dev_sep_char_arg=0, char dir_sep_char_arg=0, const std::string &dir_sep_str_arg=std::string("/"), const std::string &dir_sep_chars_arg=std::string("/"))
int unlink(const std::string &name)
OCTAVE_EXPORT octave_value_list mkdir
static std::string dir_sep_chars(void)
int symlink(const std::string &old_name, const std::string &new_name)
std::string tempnam(const std::string &dir, const std::string &pfx)
std::string m_dir_sep_str
ComplexNDArray concat(NDArray &ra, ComplexNDArray &rb, const Array< octave_idx_type > &ra_idx)
static string_vector tilde_additional_prefixes
static tilde_expansion_hook tilde_expansion_preexpansion_hook
static void cleanup_instance(void)
static file_ops * instance
int recursive_rmdir(const std::string &name)
int rename(const std::string &from, const std::string &to)
OCTAVE_EXPORT octave_value_list isdir nd deftypefn *std::string nm
std::string m_dir_sep_chars
int link(const std::string &old_name, const std::string &new_name)
static char dev_sep_char(void)
static char dir_sep_char(void)
static tilde_expansion_hook tilde_expansion_failure_hook
the sparsity preserving column transformation such that that defines the pivoting threshold can be given in which case it defines the c
may be zero for pure relative error test tem the relative tolerance must be greater than or equal to
With real return the complex result
int mkdir(const std::string &nm, mode_t md)
int rmdir(const std::string &name)
int readlink(const std::string &path, std::string &result)
static string_vector tilde_additional_suffixes
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
static bool is_dir_sep(char c)
int mkfifo(const std::string &nm, mode_t md)