7 #ifndef ALPS_HDF5_STD_COMPLEX 8 #define ALPS_HDF5_STD_COMPLEX 29 :
public std::true_type
34 template<
typename T>
struct get_extent<std::complex<T> > {
35 static std::vector<std::size_t> apply(std::complex<T>
const & ) {
36 return std::vector<std::size_t>(1, 2);
40 template<
typename T>
struct set_extent<std::complex<T> > {
41 static void apply(std::complex<T> & , std::vector<std::size_t>
const & ) {}
45 static bool apply(std::complex<T>
const & ) {
50 static bool apply(std::complex<T>
const & ) {
55 template<
typename T>
struct get_pointer<std::complex<T> > {
62 template<
typename T>
struct get_pointer<std::complex<T> const> {
70 template<
typename T>
void save(
72 , std::string
const & path
73 , std::complex<T>
const & value
74 , std::vector<std::size_t>
size = std::vector<std::size_t>()
75 , std::vector<std::size_t> chunk = std::vector<std::size_t>()
76 , std::vector<std::size_t> offset = std::vector<std::size_t>()
87 template<
typename T>
void load(
89 , std::string
const & path
90 , std::complex<T> & value
91 , std::vector<std::size_t> chunk = std::vector<std::size_t>()
92 , std::vector<std::size_t> offset = std::vector<std::size_t>()
void load(archive &ar, std::string const &path, T &value, std::vector< std::size_t > chunk=std::vector< std::size_t >(), std::vector< std::size_t >=std::vector< std::size_t >())
bool is_vectorizable(T const &value)
void set_extent(T &value, std::vector< std::size_t > const &size)
scalar_type< typename std::complex< T >::value_type >::type type
std::enable_if<!is_sequence< T >::value, std::size_t >::type size(T const &)
std::vector< std::size_t > get_extent(T const &value)
scalar_type< T >::type * get_pointer(T &value)
auto read(std::string path, T *, std::vector< std::size_t >, std::vector< std::size_t >=std::vector< std::size_t >()) const -> typename std::enable_if<!is_native_type< T >::value, void >::type
auto write(std::string path, T const *value, std::vector< std::size_t > size, std::vector< std::size_t > chunk=std::vector< std::size_t >(), std::vector< std::size_t > offset=std::vector< std::size_t >()) const -> typename std::enable_if<!is_native_type< T >::value, void >::type
bool is_group(std::string path) const
bool is_complex(std::string path) const
void save(archive &ar, std::string const &path, T const &value, std::vector< std::size_t >=std::vector< std::size_t >(), std::vector< std::size_t > chunk=std::vector< std::size_t >(), std::vector< std::size_t >=std::vector< std::size_t >())