Classes | Public Member Functions | Static Public Member Functions

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]