openPMD-api
include
openPMD
IO
HDF5
HDF5Auxiliary.hpp
1
/* Copyright 2017-2021 Fabian Koller, Felix Schmitt, Axel Huebl
2
*
3
* This file is part of openPMD-api.
4
*
5
* openPMD-api is free software: you can redistribute it and/or modify
6
* it under the terms of of either the GNU General Public License or
7
* the GNU Lesser General Public License as published by
8
* the Free Software Foundation, either version 3 of the License, or
9
* (at your option) any later version.
10
*
11
* openPMD-api is distributed in the hope that it will be useful,
12
* but WITHOUT ANY WARRANTY; without even the implied warranty of
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
* GNU General Public License and the GNU Lesser General Public License
15
* for more details.
16
*
17
* You should have received a copy of the GNU General Public License
18
* and the GNU Lesser General Public License along with openPMD-api.
19
* If not, see <http://www.gnu.org/licenses/>.
20
*/
21
#pragma once
22
23
#include "openPMD/config.hpp"
24
#include "openPMD/backend/Attribute.hpp"
25
#include "openPMD/backend/Writable.hpp"
26
27
#include <hdf5.h>
28
29
#include <map>
30
#include <string>
31
#include <unordered_map>
32
#include <utility>
33
34
35
namespace
openPMD
36
{
37
struct
GetH5DataType
38
{
39
std::unordered_map< std::string, hid_t > m_userTypes;
40
41
GetH5DataType
( std::unordered_map< std::string, hid_t > userTypes )
42
: m_userTypes{ std::move(userTypes) }
43
{
44
}
45
46
hid_t
47
operator()(
Attribute
const
&att);
48
};
49
50
hid_t
51
getH5DataSpace(
Attribute
const
& att);
52
53
std::string
54
concrete_h5_file_position(
Writable
* w);
55
69
std::vector< hsize_t >
70
getOptimalChunkDims
( std::vector< hsize_t >
const
dims,
71
size_t
const
typeSize );
72
}
// namespace openPMD
openPMD::Writable
Layer to mirror structure of logical data and persistent data in file.
Definition:
Writable.hpp:64
openPMD::getOptimalChunkDims
std::vector< hsize_t > getOptimalChunkDims(std::vector< hsize_t > const dims, size_t const typeSize)
Computes the chunk dimensions for a dataset.
Definition:
HDF5Auxiliary.cpp:313
openPMD::Attribute
Varidic datatype supporting at least all formats for attributes specified in the openPMD standard.
Definition:
Attribute.hpp:50
openPMD::GetH5DataType
Definition:
HDF5Auxiliary.hpp:37
openPMD
Public definitions of openPMD-api.
Definition:
Date.cpp:29
Generated by
1.8.17