h5cpp
0.5.0
A modern C++ wrapper for the HDF5 C library
filter.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
// Created on: Nov 6, 2017
24
//
25
#pragma once
26
27
#include <
h5cpp/property/dataset_creation.hpp
>
28
#include <
h5cpp/filter/types.hpp
>
29
#include <
h5cpp/core/windows.hpp
>
30
31
namespace
hdf5
{
32
namespace
filter {
33
41
#ifdef __clang__
42
#pragma clang diagnostic push
43
#pragma clang diagnostic ignored "-Wpadded"
44
#endif
45
class
DLL_EXPORT
Filter
46
{
47
public
:
54
Filter
();
55
Filter
(
const
Filter
&) =
default
;
56
virtual
~
Filter
();
57
68
virtual
void
operator()(
const
property::DatasetCreationList
&dcpl,
69
Availability
flag =
Availability::Mandatory
)
const
= 0;
70
78
FilterID
id()
const
noexcept;
79
85
virtual
bool
is_encoding_enabled()
const
;
86
92
virtual
bool
is_decoding_enabled()
const
;
93
94
protected
:
102
Filter
(
FilterID
id
);
103
104
private
:
105
FilterID
id_;
106
};
107
#ifdef __clang__
108
#pragma clang diagnostic pop
109
#endif
110
111
112
}
// namespace filter
113
}
// namespace hdf5
hdf5::filter::Filter
abstract filter class
Definition:
filter.hpp:45
types.hpp
windows.hpp
hdf5::property::DatasetCreationList
dataset creation property list
Definition:
dataset_creation.hpp:111
hdf5::filter::FilterID
H5Z_filter_t FilterID
Definition:
types.hpp:33
hdf5::filter::Availability::Mandatory
@ Mandatory
DLL_EXPORT
#define DLL_EXPORT
Definition:
windows.hpp:29
dataset_creation.hpp
hdf5::filter::Availability
Availability
availability requirement of a filter
Definition:
types.hpp:47
hdf5
top-level namespace of the entire library
Definition:
attribute.hpp:45
h5cpp
src
h5cpp
filter
filter.hpp
Generated on Mon May 2 2022 08:20:20 for h5cpp by
1.8.17