libpniio
nximp_map.hpp
Go to the documentation of this file.
1 //
2 // Declaration Nexus implementation type maps
3 //
4 // (c) Copyright 2011 DESY, Eugen Wintersberger <eugen.wintersberger@desy.de>
5 //
6 // This file is part of libpniio.
7 //
8 // libpniio is free software: you can redistribute it and/or modify
9 // it under the terms of the GNU General Public License as published by
10 // the Free Software Foundation, either version 2 of the License, or
11 // (at your option) any later version.
12 //
13 // libpniio is distributed in the hope that it will be useful,
14 // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 // GNU General Public License for more details.
17 //
18 // You should have received a copy of the GNU General Public License
19 // along with libpniio. If not, see <http://www.gnu.org/licenses/>.
20 // ===========================================================================
21 //
22 // Created on: Jul 3, 2011
23 // Author: Eugen Wintersberger <eugen.wintersberger@desy.de>
24 //
25 
26 #pragma once
27 
28 #include "nximp_code.hpp"
29 
30 #include "h5/object_imp.hpp"
31 #include "h5/type_imp.hpp"
32 #include "h5/file_imp.hpp"
33 #include "h5/group_imp.hpp"
34 #include "h5/field_imp.hpp"
35 #include "h5/h5filter.hpp"
36 #include "h5/attribute_imp.hpp"
37 #include "h5/h5deflate_filter.hpp"
38 
39 namespace pni{
40 namespace io{
41 namespace nx{
42 
50  template<nximp_code c> struct nximp_map;
51 
52  //-------------------------------------------------------------------------
54 
55  //set implementation types for the HDF5 implementation
56  template<> struct nximp_map<nximp_code::HDF5>
57  {
58  typedef pni::io::nx::h5::type_imp type_imp;
59  typedef pni::io::nx::h5::object_imp object_imp;
60  typedef pni::io::nx::h5::file_imp file_imp;
61  typedef pni::io::nx::h5::group_imp group_imp;
62  typedef pni::io::nx::h5::field_imp field_imp;
63  typedef pni::io::nx::h5::h5filter filter_imp;
64  typedef pni::io::nx::h5::attribute_imp attribute_imp;
65  typedef pni::io::nx::h5::h5deflate_filter deflate_imp;
66  };
68 
69 }
70 }
71 }
72 
dataset object
Definition: field_imp.hpp:51
implementation map
Definition: nximp_map.hpp:50
attribute implementation
Definition: attribute_imp.hpp:45
provide implementation specific types
Definition: type_imp.hpp:46
HDF5 deflate filter.
Definition: h5deflate_filter.hpp:43
HDF5 group object.
Definition: group_imp.hpp:47
Definition: cbf_reader.hpp:41
basic HDF5 ID wrapper
Definition: object_imp.hpp:59
HDF5 file implementation.
Definition: file_imp.hpp:49
base class for filter implementations
Definition: h5filter.hpp:48
nximp_code
implementation codes
Definition: nximp_code.hpp:40
HDF5 implementation code.