Line data Source code
1 0 : // Distributed under the MIT License.
2 : // See LICENSE.txt for details.
3 :
4 : #pragma once
5 :
6 : #include <string>
7 :
8 : #include "Options/String.hpp"
9 : #include "Utilities/PrettyType.hpp"
10 :
11 : namespace OptionTags {
12 : /*!
13 : * \ingroup OptionGroupsGroup
14 : * \brief Groups the filtering configurations in the input file.
15 : */
16 1 : struct FilteringGroup {
17 0 : static std::string name() { return "Filtering"; }
18 0 : static constexpr Options::String help = "Options for filtering";
19 : };
20 :
21 : /*!
22 : * \ingroup OptionTagsGroup
23 : * \brief The option tag that retrieves the parameters for the filter
24 : * from the input file
25 : */
26 : template <typename FilterType>
27 1 : struct Filter {
28 0 : static std::string name() { return pretty_type::name<FilterType>(); }
29 0 : static constexpr Options::String help = "Options for the filter";
30 0 : using type = FilterType;
31 0 : using group = FilteringGroup;
32 : };
33 : } // namespace OptionTags
|