h5cpp  0.5.0
A modern C++ wrapper for the HDF5 C library
functions.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 // Author: Eugen Wintersberger <eugen.wintersberger@desy.de>
23 // Author: Martin Shetty <martin.shetty@esss.se>
24 // Created on: Sep 14, 2017
25 //
26 #pragma once
27 
28 #include <h5cpp/node/node.hpp>
29 #include <h5cpp/node/group.hpp>
30 #include <h5cpp/node/dataset.hpp>
31 #include <h5cpp/core/path.hpp>
35 #include <h5cpp/core/windows.hpp>
36 
37 namespace hdf5 {
38 namespace node {
39 
56 DLL_EXPORT void copy(const Node &source,
57  const Group &base,
58  const Path &relative_path,
59  const property::ObjectCopyList &ocpl = property::ObjectCopyList(),
60  const property::LinkCreationList &lcpl = property::LinkCreationList());
61 
83 DLL_EXPORT void copy(const Node &source,
84  const Group &destination,
85  const property::ObjectCopyList &ocpl = property::ObjectCopyList(),
86  const property::LinkCreationList &lcpl = property::LinkCreationList());
87 
102 DLL_EXPORT void move(const Node &source,
103  const Group &base,
104  const Path &relative_path,
105  const property::LinkCreationList &lcpl = property::LinkCreationList(),
106  const property::LinkAccessList &lapl = property::LinkAccessList());
107 
127 DLL_EXPORT void move(const Node &source,
128  const Group &destination,
129  const property::LinkCreationList &lcpl = property::LinkCreationList(),
130  const property::LinkAccessList &lapl = property::LinkAccessList());
131 
148 DLL_EXPORT void remove(const Group &base,
149  const Path &object_path,
150  const property::LinkAccessList &lapl = property::LinkAccessList());
151 
166 DLL_EXPORT void remove(const Node &object,
167  const property::LinkAccessList &lapl = property::LinkAccessList());
168 
187 DLL_EXPORT void link(const Node &target,
188  const Group &link_base,
189  const Path &link_path,
190  const property::LinkCreationList &lcpl = property::LinkCreationList(),
191  const property::LinkAccessList &lapl = property::LinkAccessList());
192 
193 
210 DLL_EXPORT void link(const Path &target_path,
211  const Group &link_base,
212  const Path &link_path,
213  const property::LinkCreationList &lcpl = property::LinkCreationList(),
214  const property::LinkAccessList &lapl = property::LinkAccessList());
215 
240 DLL_EXPORT void link(const fs::path &target_file,
241  const Path &target_path,
242  const Group &link_base,
243  const Path &link_path,
244  const property::LinkCreationList &lcpl = property::LinkCreationList(),
245  const property::LinkAccessList &lapl = property::LinkAccessList());
246 
258 DLL_EXPORT Node get_node(const Group &base,
259  const Path &node_path,
260  const property::LinkAccessList &lapl = property::LinkAccessList());
261 
262 
277 DLL_EXPORT Group get_real_base(const Group &base, const Path &path,
278  const property::LinkAccessList &lapl = property::LinkAccessList());
279 
304 DLL_EXPORT Group get_group(const Group &base,
305  const Path &path,
306  const property::LinkAccessList &lapl = property::LinkAccessList());
328 DLL_EXPORT Dataset get_dataset(const Group &base,
329  const Path &path,
330  const property::LinkAccessList &lapl = property::LinkAccessList());
331 
332 
355 DLL_EXPORT bool is_group(const Node &node);
356 
379 DLL_EXPORT bool is_dataset(const Node &node);
380 
381 } // namespace node
382 } // namespace hdf5
object_copy.hpp
dataset.hpp
node.hpp
hdf5::node::get_node
Node get_node(const Group &base, const Path &node_path, const property::LinkAccessList &lapl=property::LinkAccessList())
get node
hdf5::node::is_group
bool is_group(const Node &node)
predicate function returning true if node is a group
group.hpp
hdf5::node::copy
void copy(const Node &source, const Group &base, const Path &relative_path, const property::ObjectCopyList &ocpl=property::ObjectCopyList(), const property::LinkCreationList &lcpl=property::LinkCreationList())
copy node object
hdf5::node::get_group
Group get_group(const Group &base, const Path &path, const property::LinkAccessList &lapl=property::LinkAccessList())
get group
hdf5::node::get_real_base
Group get_real_base(const Group &base, const Path &path, const property::LinkAccessList &lapl=property::LinkAccessList())
get real base of path
windows.hpp
hdf5::node::remove
void remove(const Group &base, const Path &object_path, const property::LinkAccessList &lapl=property::LinkAccessList())
remove node from group
hdf5::file::SearchFlags::Group
@ Group
DLL_EXPORT
#define DLL_EXPORT
Definition: windows.hpp:29
hdf5::file::SearchFlags::Dataset
@ Dataset
path.hpp
hdf5::node::is_dataset
bool is_dataset(const Node &node)
predicate function returning true if a node is a dataset
hdf5::node::link
void link(const Node &target, const Group &link_base, const Path &link_path, const property::LinkCreationList &lcpl=property::LinkCreationList(), const property::LinkAccessList &lapl=property::LinkAccessList())
Create a soft or external link.
hdf5
top-level namespace of the entire library
Definition: attribute.hpp:45
hdf5::node::move
void move(const Node &source, const Group &base, const Path &relative_path, const property::LinkCreationList &lcpl=property::LinkCreationList(), const property::LinkAccessList &lapl=property::LinkAccessList())
move node object
hdf5::node::get_dataset
Dataset get_dataset(const Group &base, const Path &path, const property::LinkAccessList &lapl=property::LinkAccessList())
get dataset