h5cpp 0.7.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
33#include <h5cpp/core/path.hpp>
35#include <vector>
36
37namespace hdf5 {
38namespace property {
39
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
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
114class 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
path to a node object
Definition: path.hpp:54
guard object for selections
Definition: view.hpp:42
dataset creation property list
Definition: dataset_creation.hpp:111
data mapping for virtual datasets
Definition: virtual_data_map.hpp:46
VirtualDataMap(const dataspace::View &target_view, const fs::path &source_file, const hdf5::Path &source_dataset, const dataspace::View &source_view)
constructor
VirtualDataMap(const VirtualDataMap &)=default
copy constructor
VirtualDataMap()=default
default constructor
void operator()(const property::DatasetCreationList &dcpl) const
apply mapping to a dataset creation list
utility container for virtual data maps
Definition: virtual_data_map.hpp:114
top-level namespace of the entire library
Definition: attribute.hpp:45
#define DLL_EXPORT
Definition: windows.hpp:29