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 >
void load_ppm_binary (Cube< eT > &x, const std::string &name)
template<typename eT >
void load_ppm_binary (Cube< eT > &x, const std::string &name, std::istream &f)
template<typename eT >
void save_ppm_binary (const Cube< eT > &x, const std::string &final_name)
template<typename eT >
void save_ppm_binary (const Cube< eT > &x, const std::string &name, 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 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 &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 void save_raw_ascii (const Mat< eT > &x, const std::string &name, 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 void 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 void save_arma_ascii (const Mat< eT > &x, const std::string &name, 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 void 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 void save_arma_binary (const Mat< eT > &x, const std::string &name, 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 void save_pgm_binary (const Mat< eT > &x, const std::string &final_nname)
 Save a matrix as a PGM greyscale image.
template<typename eT >
static void save_pgm_binary (const Mat< eT > &x, const std::string &name, std::ostream &f)
 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 &final_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, std::ostream &f)
 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_raw_ascii (Mat< eT > &x, const std::string &name, std::istream &f)
 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::istream &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::istream &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 eT >
static void load_pgm_binary (Mat< eT > &x, const std::string &name, std::istream &is)
 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 T >
static void load_pgm_binary (Mat< std::complex< T > > &x, const std::string &name, std::istream &is)
 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.
template<typename eT >
static void load_auto_detect (Mat< eT > &x, const std::string &name, std::istream &f)
 Try to load a matrix by automatically determining its type.
static void pnm_skip_comments (std::istream &f)
template<typename eT >
static void 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 void save_raw_ascii (const Cube< eT > &x, const std::string &name, std::ostream &f)
 Save a cube as raw text (no header, human readable).
template<typename eT >
static void 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 void save_arma_ascii (const Cube< eT > &x, const std::string &name, 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 void 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 void save_arma_binary (const Cube< eT > &x, const std::string &name, 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 void load_raw_ascii (Cube< eT > &x, const std::string &name)
 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 void load_raw_ascii (Cube< eT > &x, const std::string &name, std::istream &f)
 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 void load_arma_ascii (Cube< eT > &x, const std::string &name)
 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 void load_arma_ascii (Cube< eT > &x, const std::string &name, std::istream &f)
 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 void load_arma_binary (Cube< eT > &x, const std::string &name)
 Load a cube in binary format, with a header that indicates the cube type as well as its dimensions.
template<typename eT >
static void load_arma_binary (Cube< eT > &x, const std::string &name, std::istream &f)
template<typename eT >
static void load_auto_detect (Cube< eT > &x, const std::string &name)
 Try to load a cube by automatically determining its type.
template<typename eT >
static void load_auto_detect (Cube< eT > &x, const std::string &name, std::istream &f)
 Try to load a cube by automatically determining its type.
template<typename T1 >
static void save_arma_binary (const field< T1 > &x, const std::string &name)
template<typename T1 >
static void save_arma_binary (const field< T1 > &x, const std::string &name, std::ostream &f)
template<typename T1 >
static void load_arma_binary (field< T1 > &x, const std::string &name)
template<typename T1 >
static void load_arma_binary (field< T1 > &x, const std::string &name, std::istream &f)
static void save_std_string (const field< std::string > &x, const std::string &name)
static void save_std_string (const field< std::string > &x, const std::string &name, std::ostream &f)
static void load_std_string (field< std::string > &x, const std::string &name)
static void load_std_string (field< std::string > &x, const std::string &name, std::istream &f)
template<typename T1 >
static void load_auto_detect (field< T1 > &x, const std::string &name)
 Try to load a field by automatically determining its type.
template<typename T1 >
static void load_auto_detect (field< T1 > &x, const std::string &name, std::istream &f)
 Try to load a field by automatically determining its type.
template<typename T1 >
static void save_ppm_binary (const Cube< T1 > &x, const std::string &final_name)
template<typename T1 >
static void save_ppm_binary (const Cube< T1 > &x, const std::string &name, std::ostream &f)
template<typename T1 >
static void load_ppm_binary (Cube< T1 > &x, const std::string &final_name)
template<typename T1 >
static void load_ppm_binary (Cube< T1 > &x, const std::string &name, std::istream &f)
template<typename T1 >
static void save_ppm_binary (const field< T1 > &x, const std::string &final_name)
template<typename T1 >
static void save_ppm_binary (const field< T1 > &x, const std::string &final_name, std::ostream &f)
template<typename T1 >
static void load_ppm_binary (field< T1 > &x, const std::string &final_name)
template<typename T1 >
static void load_ppm_binary (field< T1 > &x, const std::string &final_name, std::istream &f)

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 void diskio::save_ppm_binary ( const Cube< T1 > &  x,
const std::string &  final_name 
) [inline, static]
template<typename T1 >
static void diskio::save_ppm_binary ( const Cube< T1 > &  x,
const std::string &  name,
std::ostream &  f 
) [inline, static]
template<typename T1 >
static void diskio::load_ppm_binary ( Cube< T1 > &  x,
const std::string &  final_name 
) [inline, static]
template<typename T1 >
static void diskio::load_ppm_binary ( Cube< T1 > &  x,
const std::string &  name,
std::istream &  f 
) [inline, static]