g4tools
5.4.0
g4tools
tools
hdf5
group_exists
Go to the documentation of this file.
1
// Copyright (C) 2010, Guy Barrand. All rights reserved.
2
// See the file tools.license for terms.
3
4
#ifndef tools_hdf5_group_exists
5
#define tools_hdf5_group_exists
6
7
#include "
hdf5_h
"
8
9
#include <string>
10
11
namespace
tools
{
12
namespace
hdf5 {
13
14
class
group_exists_struct
{
15
public
:
16
group_exists_struct
(
const
std::string& a_what):
m_what
(a_what),
m_found
(false){}
17
virtual
~group_exists_struct
() {}
18
protected
:
19
group_exists_struct
(
const
group_exists_struct
& a_from):
m_what
(a_from.
m_what
),
m_found
(a_from.
m_found
){}
20
group_exists_struct
&
operator=
(
const
group_exists_struct
&){
return
*
this
;}
21
public
:
22
std::string
m_what
;
23
bool
m_found
;
24
};
25
26
inline
herr_t
group_exists_visit
(hid_t a_id,
const
char
* a_name,
void
* a_tag){
//a_id = parent of a_name object.
27
group_exists_struct
* visitor = (
group_exists_struct
*)a_tag;
28
H5G_stat_t statbuf;
29
::H5Gget_objinfo(a_id,a_name,0,&statbuf);
30
switch
(statbuf.type) {
31
case
H5G_GROUP:{
32
if
(a_name==visitor->
m_what
) {visitor->
m_found
=
true
;
return
0;}
//found
33
//::H5Giterate(a_id,a_name,NULL,group_exists_visit,visitor);
34
}
break
;
35
default
:
36
break
;
37
}
38
return
0;
39
}
40
41
inline
bool
group_exists
(hid_t a_file_id,
const
std::string& a_name) {
42
group_exists_struct
visitor(a_name);
43
::H5Giterate(a_file_id,
"."
,NULL,
group_exists_visit
,&visitor);
44
return
visitor.
m_found
;
45
}
46
47
}}
48
49
#endif
tools::hdf5::group_exists_visit
herr_t group_exists_visit(hid_t a_id, const char *a_name, void *a_tag)
Definition:
group_exists:26
tools::hdf5::group_exists_struct::~group_exists_struct
virtual ~group_exists_struct()
Definition:
group_exists:17
tools::hdf5::group_exists
bool group_exists(hid_t a_file_id, const std::string &a_name)
Definition:
group_exists:41
tools::hdf5::group_exists_struct::m_what
std::string m_what
Definition:
group_exists:22
tools::hdf5::group_exists_struct::group_exists_struct
group_exists_struct(const group_exists_struct &a_from)
Definition:
group_exists:19
tools
inlined C code : ///////////////////////////////////
Definition:
aida_ntuple:26
tools::hdf5::group_exists_struct::operator=
group_exists_struct & operator=(const group_exists_struct &)
Definition:
group_exists:20
tools::hdf5::group_exists_struct
Definition:
group_exists:14
tools::hdf5::group_exists_struct::group_exists_struct
group_exists_struct(const std::string &a_what)
Definition:
group_exists:16
tools::hdf5::group_exists_struct::m_found
bool m_found
Definition:
group_exists:23
hdf5_h
Generated by
1.8.20