h5cpp
0.5.0
A modern C++ wrapper for the HDF5 C library
virtual_data_map.hpp
Go to the documentation of this file.
1
//
2
// (c) Copyright 2017 DESY,ESS
3
//
4
// This file is part of h5cpp.
5
//
6
// This library is free software; you can redistribute it and/or modify it
7
// under the terms of the GNU Lesser General Public License as published
8
// by the Free Software Foundation; either version 2.1 of the License, or
9
// (at your option) any later version.
10
//
11
// This library is distributed in the hope that it will be useful, but
12
// WITHOUT ANY WARRANTY; without even the implied warranty ofMERCHANTABILITY
13
// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
14
// License for more details.
15
//
16
// You should have received a copy of the GNU Lesser General Public License
17
// along with this library; if not, write to the
18
// Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor
19
// Boston, MA 02110-1301 USA
20
// ===========================================================================
21
//
22
// Authors:
23
// Eugen Wintersberger <eugen.wintersberger@desy.de>
24
// Martin Shetty <martin.shetty@esss.se>
25
// Created on: Nov 10, 2017
26
//
27
#pragma once
28
29
#include <
h5cpp/core/filesystem.hpp
>
30
#include <
h5cpp/dataspace/dataspace.hpp
>
31
#include <
h5cpp/dataspace/view.hpp
>
32
#include <
h5cpp/property/dataset_creation.hpp
>
33
#include <
h5cpp/core/path.hpp
>
34
#include <
h5cpp/core/windows.hpp
>
35
#include <vector>
36
37
namespace
hdf5
{
38
namespace
property {
39
46
class
DLL_EXPORT
VirtualDataMap
{
47
public
:
54
VirtualDataMap
() =
default
;
55
62
VirtualDataMap
(
const
VirtualDataMap
&) =
default
;
63
74
VirtualDataMap
(
const
dataspace::View
&target_view,
75
const
fs::path &source_file,
76
const
hdf5::Path
&source_dataset,
77
const
dataspace::View
&source_view);
78
86
void
operator()(
const
property::DatasetCreationList
&dcpl)
const
;
87
88
private
:
89
dataspace::View
target_view_;
90
#ifdef _MSC_VER
91
#pragma warning(push)
92
#pragma warning(disable: 4251)
93
#endif
94
fs::path source_file_;
95
#ifdef _MSC_VER
96
#pragma warning(pop)
97
#endif
98
hdf5::Path
source_dataset_;
99
dataspace::View
source_view_;
100
101
};
102
103
#ifdef _MSC_VER
104
#pragma warning(push)
105
#pragma warning(disable: 4251)
106
#endif
107
class
DLL_EXPORT
VirtualDataMaps
:
public
std::vector<VirtualDataMap> {
115
#ifdef _MSC_VER
116
#pragma warning(pop)
117
#endif
118
public
:
119
//
120
// pull in std::vector constructors
121
//
122
using
std::vector<VirtualDataMap>::vector;
123
};
124
125
}
// namespace property
126
}
// namespace hdf5
hdf5::property::VirtualDataMap
data mapping for virtual datasets
Definition:
virtual_data_map.hpp:46
hdf5::dataspace::View
guard object for selections
Definition:
view.hpp:42
hdf5::property::VirtualDataMaps
utility container for virtual data maps
Definition:
virtual_data_map.hpp:114
filesystem.hpp
windows.hpp
view.hpp
hdf5::property::DatasetCreationList
dataset creation property list
Definition:
dataset_creation.hpp:111
DLL_EXPORT
#define DLL_EXPORT
Definition:
windows.hpp:29
dataset_creation.hpp
path.hpp
dataspace.hpp
hdf5::Path
path to a node object
Definition:
path.hpp:53
hdf5
top-level namespace of the entire library
Definition:
attribute.hpp:45
h5cpp
src
h5cpp
property
virtual_data_map.hpp
Generated on Mon May 2 2022 08:20:20 for h5cpp by
1.8.17