vSMC
vSMC: Scalable Monte Carlo
Classes | Namespaces | Functions
hdf5io.hpp File Reference
#include <vsmc/internal/common.hpp>
#include <hdf5.h>
#include <tuple>

Go to the source code of this file.

Classes

struct  vsmc::internal::HDF5LoadDataPtr< T >
 
struct  vsmc::internal::HDF5StoreDataPtr< T >
 

Namespaces

 vsmc
 
 vsmc::internal
 

Functions

template<typename TupleVectorType , typename InputIter >
void vsmc::internal::hdf5_tuple_vector_copy (std::size_t n, TupleVectorType &vec, InputIter first, Position< 0 >)
 
template<typename TupleVectorType , typename InputIter , std::size_t Pos>
void vsmc::internal::hdf5_tuple_vector_copy (std::size_t n, TupleVectorType &vec, InputIter first, Position< Pos >)
 
template<typename TupleVectorType , typename TuplePtrType >
void vsmc::internal::hdf5_tuple_vector_ptr (const TupleVectorType &vec, TuplePtrType &ptr, Position< 0 >)
 
template<typename TupleVectorType , typename TuplePtrType , std::size_t Pos>
void vsmc::internal::hdf5_tuple_vector_ptr (const TupleVectorType &vec, TuplePtrType &ptr, Position< Pos >)
 
template<typename TupleVectorType >
void vsmc::internal::hdf5_tuple_vector_resize (std::size_t n, TupleVectorType &vec, Position< 0 >)
 
template<typename TupleVectorType , std::size_t Pos>
void vsmc::internal::hdf5_tuple_vector_resize (std::size_t n, TupleVectorType &vec, Position< Pos >)
 
template<typename >
::hid_t vsmc::hdf5io_datatype ()
 HDF5 data type. More...
 
template<>
inline::hid_t vsmc::hdf5io_datatype< char > ()
 HDF5 data type specialization for char. More...
 
template<>
inline::hid_t vsmc::hdf5io_datatype< double > ()
 HDF5 data type specialization for double. More...
 
template<>
inline::hid_t vsmc::hdf5io_datatype< float > ()
 HDF5 data type specialization for float. More...
 
template<>
inline::hid_t vsmc::hdf5io_datatype< int > ()
 HDF5 data type specialization for int. More...
 
template<>
inline::hid_t vsmc::hdf5io_datatype< long > ()
 HDF5 data type specialization for long. More...
 
template<>
inline::hid_t vsmc::hdf5io_datatype< long double > ()
 HDF5 data type specialization for long double. More...
 
template<>
inline::hid_t vsmc::hdf5io_datatype< long long > ()
 HDF5 data type specialization for long long. More...
 
template<>
inline::hid_t vsmc::hdf5io_datatype< short > ()
 HDF5 data type specialization for short. More...
 
template<>
inline::hid_t vsmc::hdf5io_datatype< signed char > ()
 HDF5 data type specialization for signed char. More...
 
template<>
inline::hid_t vsmc::hdf5io_datatype< unsigned char > ()
 HDF5 data type specialization for unsigned char. More...
 
template<>
inline::hid_t vsmc::hdf5io_datatype< unsigned int > ()
 HDF5 data type specialization for unsigned int. More...
 
template<>
inline::hid_t vsmc::hdf5io_datatype< unsigned long > ()
 HDF5 data type specialization for unsigned long. More...
 
template<>
inline::hid_t vsmc::hdf5io_datatype< unsigned long long > ()
 HDF5 data type specialization for unsigned long. More...
 
template<>
inline::hid_t vsmc::hdf5io_datatype< unsigned short > ()
 HDF5 data type specialization for unsigned short. More...
 
template<MatrixOrder >
void vsmc::internal::hdf5io_matrix_dim (std::size_t, std::size_t,::hsize_t *)
 
template<>
void vsmc::internal::hdf5io_matrix_dim< ColMajor > (std::size_t nrow, std::size_t ncol,::hsize_t *dim)
 
template<>
void vsmc::internal::hdf5io_matrix_dim< RowMajor > (std::size_t nrow, std::size_t ncol,::hsize_t *dim)
 
template<typename T , typename OutputIter >
OutputIter vsmc::hdf5load (const std::string &file_name, const std::string &data_name, OutputIter first)
 Load raw data in the HDF5 format. More...
 
template<typename T >
inline::hsize_t vsmc::hdf5size (const std::string &file_name, const std::string &data_name)
 Get the number of bytes of the data in the HDF5 format. More...
 
template<typename T >
void vsmc::hdf5store (const Sampler< T > &sampler, const std::string &file_name, const std::string &data_name, bool append=false)
 Store a Sampler in the HDF5 format. More...
 
template<MatrixOrder Order, std::size_t Dim, typename T >
void vsmc::hdf5store (const StateMatrix< Order, Dim, T > &state, const std::string &file_name, const std::string &data_name, bool append=false)
 Store a StateMatrix in the HDF5 format. More...
 
template<typename T , typename... Types>
void vsmc::hdf5store (const StateTuple< RowMajor, T, Types...> &state, const std::string &file_name, const std::string &data_name, bool append=false)
 Store a StateTuple in the HDF5 format. More...
 
template<typename T , typename... Types>
void vsmc::hdf5store (const StateTuple< ColMajor, T, Types...> &state, const std::string &file_name, const std::string &data_name, bool append=false)
 Store a StateTuple in the HDF5 format. More...
 
template<MatrixOrder Order, typename T , std::size_t StateSize, typename FPType , typename ID >
void vsmc::hdf5store (const StateCL< StateSize, FPType, ID > &state, const std::string &file_name, const std::string &data_name, bool append=false)
 Store a StateCL in the HDF5 format. More...
 
template<typename T , typename InputIterIter , typename SInputIter >
void vsmc::hdf5store_list (std::size_t nrow, std::size_t ncol, const std::string &file_name, const std::string &data_name, InputIterIter first, SInputIter sfirst, bool append=false)
 Store a list in the HDF5 format from an iterator to iterators. More...
 
template<typename SInputIter , typename InputIter , typename... InputIters>
void vsmc::hdf5store_list (std::size_t nrow, const std::string &file_name, const std::string &data_name, const std::tuple< InputIter, InputIters...> &first, SInputIter sfirst, bool append=false)
 Store a list in the HDF5 format from tuple of iterators. More...
 
void vsmc::hdf5store_list_empty (const std::string &file_name, const std::string &data_name, bool append)
 Create an empty list. More...
 
template<typename T , typename InputIter >
void vsmc::hdf5store_list_insert (std::size_t N, const std::string &file_name, const std::string &data_name, InputIter first, const std::string &vname)
 Insert a variable into an existing list saved in HDF5 format. More...
 
template<typename InputIter , typename... InputIters>
void vsmc::internal::hdf5store_list_insert_tuple (std::size_t nrow, const std::string &file_name, const std::string &data_name, const std::tuple< InputIter, InputIters...> &first, const std::string *sptr, Position< 0 >)
 
template<typename InputIter , typename... InputIters, std::size_t Pos>
void vsmc::internal::hdf5store_list_insert_tuple (std::size_t nrow, const std::string &file_name, const std::string &data_name, const std::tuple< InputIter, InputIters...> &first, const std::string *sptr, Position< Pos >)
 
template<MatrixOrder Order, typename T , typename InputIter >
InputIter vsmc::hdf5store_matrix (std::size_t nrow, std::size_t ncol, const std::string &file_name, const std::string &data_name, InputIter first, bool append=false)
 Store a matrix in the HDF5 format from an input iterator. More...