h5cpp  0.6
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,
61 
83 DLL_EXPORT void copy(const Node &source,
84  const Group &destination,
87 
102 DLL_EXPORT void move(const Node &source,
103  const Group &base,
104  const Path &relative_path,
107 
127 DLL_EXPORT void move(const Node &source,
128  const Group &destination,
131 
148 DLL_EXPORT void remove(const Group &base,
149  const Path &object_path,
151 
166 DLL_EXPORT void remove(const Node &object,
168 
187 DLL_EXPORT void link(const Node &target,
188  const Group &link_base,
189  const Path &link_path,
192 
193 
210 DLL_EXPORT void link(const Path &target_path,
211  const Group &link_base,
212  const Path &link_path,
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,
246 
259  const Path &node_path,
261 
262 
277 DLL_EXPORT Group get_real_base(const Group &base, const Path &path,
279 
305  const Path &path,
329  const Path &path,
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
path to a node object
Definition: path.hpp:54
Definition: dataset.hpp:60
Definition: group.hpp:51
Definition: node.hpp:40
link access property list
Definition: link_access.hpp:43
Definition: link_creation.hpp:35
Definition: object_copy.hpp:207
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
bool is_group(const Node &node)
predicate function returning true if node is a group
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
Group get_group(const Group &base, const Path &path, const property::LinkAccessList &lapl=property::LinkAccessList())
get group
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.
Dataset get_dataset(const Group &base, const Path &path, const property::LinkAccessList &lapl=property::LinkAccessList())
get dataset
Node get_node(const Group &base, const Path &node_path, const property::LinkAccessList &lapl=property::LinkAccessList())
get node
Group get_real_base(const Group &base, const Path &path, const property::LinkAccessList &lapl=property::LinkAccessList())
get real base of path
void remove(const Group &base, const Path &object_path, const property::LinkAccessList &lapl=property::LinkAccessList())
remove node from group
bool is_dataset(const Node &node)
predicate function returning true if a node is a dataset
top-level namespace of the entire library
Definition: attribute.hpp:45
#define DLL_EXPORT
Definition: windows.hpp:29