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

Public Member Functions

template<typename eT >
bool load_ppm_binary (Cube< eT > &x, const std::string &name, std::string &err_msg)
template<typename eT >
bool load_ppm_binary (Cube< eT > &x, std::istream &f, std::string &err_msg)
template<typename eT >
bool save_ppm_binary (const Cube< eT > &x, const std::string &final_name)
template<typename eT >
bool save_ppm_binary (const Cube< eT > &x, std::ostream &f)

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.
template<typename eT >
static std::string gen_txt_header (const Cube< eT > &x)
 Generate the first line of the header used for saving cubes in text format. Format: "ARMA_CUB_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 Cube< eT > &x)
 Generate the first line of the header used for saving cubes in binary format. Format: "ARMA_CUB_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 bool 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 bool save_raw_ascii (const Mat< eT > &x, const std::string &final_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 bool save_arma_ascii (const Mat< eT > &x, const std::string &final_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 bool save_arma_binary (const Mat< eT > &x, const std::string &final_name)
 Save a matrix in binary format, with a header that stores the matrix type as well as its dimensions.
template<typename eT >
static bool save_pgm_binary (const Mat< eT > &x, const std::string &final_name)
 Save a matrix as a PGM greyscale image.
template<typename T >
static bool save_pgm_binary (const Mat< std::complex< T > > &x, const std::string &final_name)
 Save a matrix as a PGM greyscale image.
template<typename eT >
static bool save_raw_ascii (const Mat< eT > &x, std::ostream &f)
 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 bool save_arma_ascii (const Mat< eT > &x, std::ostream &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 bool save_arma_binary (const Mat< eT > &x, std::ostream &f)
 Save a matrix in binary format, with a header that stores the matrix type as well as its dimensions.
template<typename eT >
static bool save_pgm_binary (const Mat< eT > &x, std::ostream &f)
 Save a matrix as a PGM greyscale image.
template<typename T >
static bool save_pgm_binary (const Mat< std::complex< T > > &x, std::ostream &f)
 Save a matrix as a PGM greyscale image.
template<typename eT >
static bool load_raw_ascii (Mat< eT > &x, const std::string &name, std::string &err_msg)
 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 bool load_arma_ascii (Mat< eT > &x, const std::string &name, std::string &err_msg)
 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 bool load_arma_binary (Mat< eT > &x, const std::string &name, std::string &err_msg)
 Load a matrix in binary format, with a header that indicates the matrix type as well as its dimensions.
template<typename eT >
static bool load_pgm_binary (Mat< eT > &x, const std::string &name, std::string &err_msg)
 Load a PGM greyscale image as a matrix.
template<typename T >
static bool load_pgm_binary (Mat< std::complex< T > > &x, const std::string &name, std::string &err_msg)
 Load a PGM greyscale image as a matrix.
template<typename eT >
static bool load_auto_detect (Mat< eT > &x, const std::string &name, std::string &err_msg)
 Try to load a matrix by automatically determining its type.
template<typename eT >
static bool load_raw_ascii (Mat< eT > &x, std::istream &f, std::string &err_msg)
 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 bool load_arma_ascii (Mat< eT > &x, std::istream &f, std::string &err_msg)
 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 bool load_arma_binary (Mat< eT > &x, std::istream &f, std::string &err_msg)
template<typename eT >
static bool load_pgm_binary (Mat< eT > &x, std::istream &is, std::string &err_msg)
 Load a PGM greyscale image as a matrix.
template<typename T >
static bool load_pgm_binary (Mat< std::complex< T > > &x, std::istream &is, std::string &err_msg)
 Load a PGM greyscale image as a matrix.
template<typename eT >
static bool load_auto_detect (Mat< eT > &x, std::istream &f, std::string &err_msg)
 Try to load a matrix by automatically determining its type.
static void pnm_skip_comments (std::istream &f)
template<typename eT >
static bool save_raw_ascii (const Cube< eT > &x, const std::string &name)
 Save a cube as raw text (no header, human readable).
template<typename eT >
static bool save_arma_ascii (const Cube< eT > &x, const std::string &name)
 Save a cube in text format (human readable), with a header that indicates the cube type as well as its dimensions.
template<typename eT >
static bool save_arma_binary (const Cube< eT > &x, const std::string &name)
 Save a cube in binary format, with a header that stores the cube type as well as its dimensions.
template<typename eT >
static bool save_raw_ascii (const Cube< eT > &x, std::ostream &f)
 Save a cube as raw text (no header, human readable).
template<typename eT >
static bool save_arma_ascii (const Cube< eT > &x, std::ostream &f)
 Save a cube in text format (human readable), with a header that indicates the cube type as well as its dimensions.
template<typename eT >
static bool save_arma_binary (const Cube< eT > &x, std::ostream &f)
 Save a cube in binary format, with a header that stores the cube type as well as its dimensions.
template<typename eT >
static bool load_raw_ascii (Cube< eT > &x, const std::string &name, std::string &err_msg)
 Load a cube as raw text (no header, human readable). NOTE: this is much slower than reading a file with a header.
template<typename eT >
static bool load_arma_ascii (Cube< eT > &x, const std::string &name, std::string &err_msg)
 Load a cube in text format (human readable), with a header that indicates the cube type as well as its dimensions.
template<typename eT >
static bool load_arma_binary (Cube< eT > &x, const std::string &name, std::string &err_msg)
 Load a cube in binary format, with a header that indicates the cube type as well as its dimensions.
template<typename eT >
static bool load_auto_detect (Cube< eT > &x, const std::string &name, std::string &err_msg)
 Try to load a cube by automatically determining its type.
template<typename eT >
static bool load_raw_ascii (Cube< eT > &x, std::istream &f, std::string &err_msg)
 Load a cube as raw text (no header, human readable). NOTE: this is much slower than reading a file with a header.
template<typename eT >
static bool load_arma_ascii (Cube< eT > &x, std::istream &f, std::string &err_msg)
 Load a cube in text format (human readable), with a header that indicates the cube type as well as its dimensions.
template<typename eT >
static bool load_arma_binary (Cube< eT > &x, std::istream &f, std::string &err_msg)
template<typename eT >
static bool load_auto_detect (Cube< eT > &x, std::istream &f, std::string &err_msg)
 Try to load a cube by automatically determining its type.
template<typename T1 >
static bool save_arma_binary (const field< T1 > &x, const std::string &name)
template<typename T1 >
static bool save_arma_binary (const field< T1 > &x, std::ostream &f)
template<typename T1 >
static bool load_arma_binary (field< T1 > &x, const std::string &name, std::string &err_msg)
template<typename T1 >
static bool load_arma_binary (field< T1 > &x, std::istream &f, std::string &err_msg)
template<typename T1 >
static bool load_auto_detect (field< T1 > &x, const std::string &name, std::string &err_msg)
 Try to load a field by automatically determining its type.
template<typename T1 >
static bool load_auto_detect (field< T1 > &x, std::istream &f, std::string &err_msg)
 Try to load a field by automatically determining its type.
static bool save_std_string (const field< std::string > &x, const std::string &name)
static bool save_std_string (const field< std::string > &x, std::ostream &f)
static bool load_std_string (field< std::string > &x, const std::string &name, std::string &err_msg)
static bool load_std_string (field< std::string > &x, std::istream &f, std::string &err_msg)
template<typename T1 >
static bool save_ppm_binary (const Cube< T1 > &x, const std::string &final_name)
template<typename T1 >
static bool save_ppm_binary (const Cube< T1 > &x, std::ostream &f)
template<typename T1 >
static bool load_ppm_binary (Cube< T1 > &x, const std::string &final_name, std::string &err_msg)
template<typename T1 >
static bool load_ppm_binary (Cube< T1 > &x, std::istream &f, std::string &err_msg)
template<typename T1 >
static bool save_ppm_binary (const field< T1 > &x, const std::string &final_name)
template<typename T1 >
static bool save_ppm_binary (const field< T1 > &x, std::ostream &f)
template<typename T1 >
static bool load_ppm_binary (field< T1 > &x, const std::string &final_name, std::string &err_msg)
template<typename T1 >
static bool load_ppm_binary (field< T1 > &x, std::istream &f, std::string &err_msg)

Detailed Description

class for saving and loading matrices and fields

Definition at line 23 of file diskio_proto.hpp.


Member Function Documentation

template<typename T1 >
static bool diskio::save_ppm_binary ( const Cube< T1 > &  x,
const std::string &  final_name 
) [inline, static]
template<typename T1 >
static bool diskio::save_ppm_binary ( const Cube< T1 > &  x,
std::ostream &  f 
) [inline, static]
template<typename T1 >
static bool diskio::load_ppm_binary ( Cube< T1 > &  x,
const std::string &  final_name,
std::string &  err_msg 
) [inline, static]
template<typename T1 >
static bool diskio::load_ppm_binary ( Cube< T1 > &  x,
std::istream &  f,
std::string &  err_msg 
) [inline, static]