diskio Class Reference
[Diskio]

class for saving and loading matrices and fields More...

#include <diskio_proto.hpp>

List of all members.

Classes

struct  is_supported_type

Static Public Member Functions

template<typename eT >
static std::string gen_txt_header (const Mat< eT > &x)
 Generate the first line of the header used for saving matrices in text format. Format: "ARMA_MAT_TXT_ABXYZ". A is one of: I (for integral types) or F (for floating point types). B is one of: U (for unsigned types), S (for signed types), N (for not appliable) or C (for complex types). XYZ specifies the width of each element in terms of bytes, e.g. "008" indicates eight bytes.
template<typename eT >
static std::string gen_bin_header (const Mat< eT > &x)
 Generate the first line of the header used for saving matrices in binary format. Format: "ARMA_MAT_BIN_ABXYZ". A is one of: I (for integral types) or F (for floating point types). B is one of: U (for unsigned types), S (for signed types), N (for not appliable) or C (for complex types). XYZ specifies the width of each element in terms of bytes, e.g. "008" indicates eight bytes.
static char conv_to_hex_char (const u8 x)
static void conv_to_hex (char *out, const u8 x)
static std::string gen_tmp_name (const std::string &x)
 Append a quasi-random string to the given filename. The rand() function is deliberately not used, as rand() has an internal state that changes from call to call. Such states should not be modified in scientific applications, where the results should be reproducable and not affected by saving data.
static void safe_rename (const std::string &old_name, const std::string &new_name)
 Safely rename a file. Before renaming, test if we can write to the final file. This should prevent: (i) overwriting files that have been write protected, (ii) overwriting directories.
template<typename eT >
static void save_raw_ascii (const Mat< eT > &x, const std::string &name)
 Save a matrix as raw text (no header, human readable). Matrices can be loaded in Matlab and Octave, as long as they don't have complex elements.
template<typename eT >
static void save_arma_ascii (const Mat< eT > &x, const std::string &name)
 Save a matrix in text format (human readable), with a header that indicates the matrix type as well as its dimensions.
template<typename eT >
static void save_arma_ascii (const Mat< eT > &x, const std::string &name, std::ofstream &f)
 Save a matrix in text format (human readable), with a header that indicates the matrix type as well as its dimensions.
template<typename eT >
static void save_arma_binary (const Mat< eT > &x, const std::string &name)
 Save a matrix in binary format, with a header that stores the matrix type as well as its dimensions.
template<typename eT >
static void save_arma_binary (const Mat< eT > &x, const std::string &name, std::ofstream &f)
 Save a matrix in binary format, with a header that stores the matrix type as well as its dimensions.
template<typename eT >
static void save_pgm_binary (const Mat< eT > &x, const std::string &name)
 Save a matrix as a PGM greyscale image.
template<typename T >
static void save_pgm_binary (const Mat< std::complex< T > > &x, const std::string &name)
 Save a matrix as a PGM greyscale image.
template<typename eT >
static void load_raw_ascii (Mat< eT > &x, const std::string &name)
 Load a matrix as raw text (no header, human readable). Can read matrices saved as text in Matlab and Octave. NOTE: this is much slower than reading a file with a header.
template<typename eT >
static void load_arma_ascii (Mat< eT > &x, const std::string &name)
 Load a matrix in text format (human readable), with a header that indicates the matrix type as well as its dimensions.
template<typename eT >
static void load_arma_ascii (Mat< eT > &x, const std::string &name, std::ifstream &f)
 Load a matrix in text format (human readable), with a header that indicates the matrix type as well as its dimensions.
template<typename eT >
static void load_arma_binary (Mat< eT > &x, const std::string &name)
 Load a matrix in binary format, with a header that indicates the matrix type as well as its dimensions.
template<typename eT >
static void load_arma_binary (Mat< eT > &x, const std::string &name, std::ifstream &f)
template<typename eT >
static void load_pgm_binary (Mat< eT > &x, const std::string &name)
 Load a PGM greyscale image as a matrix.
template<typename T >
static void load_pgm_binary (Mat< std::complex< T > > &x, const std::string &name)
 Load a PGM greyscale image as a matrix.
template<typename eT >
static void load_auto_detect (Mat< eT > &x, const std::string &name)
 Try to load a matrix by automatically determining its type.
static void pnm_skip_comments (std::fstream &f)
template<typename T1 >
static void save_field_arma_binary (const field< T1 > &x, const std::string &name)
template<typename T1 >
static void load_field_arma_binary (field< T1 > &x, const std::string &name)
template<typename T1 >
static void save_field_ppm_binary (const field< T1 > &x, const std::string &final_name)
template<typename T1 >
static void load_field_ppm_binary (field< T1 > &x, const std::string &final_name)
static void save_field_std_string (const field< std::string > &x, const std::string &name)
static void load_field_std_string (field< std::string > &x, const std::string &name)
template<typename T1 >
static void load_field_auto_detect (field< T1 > &x, const std::string &name)
 Try to load a field by automatically determining its type.


Detailed Description

class for saving and loading matrices and fields

Definition at line 21 of file diskio_proto.hpp.