Skip to content

Commit 19b53a1

Browse files
committed
auto_base: shorten types by removing tags from parameter types
1 parent 7da991e commit 19b53a1

1 file changed

Lines changed: 11 additions & 8 deletions

File tree

include/adm/detail/auto_base.hpp

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -43,9 +43,10 @@ namespace adm {
4343

4444
/// base class with set/get/has methods for a required parameter of type T
4545
/// combine these together using HasParameters
46-
template <typename T,
47-
typename Tag = typename detail::ParameterTraits<T>::tag>
46+
template <typename T>
4847
class RequiredParameter {
48+
using Tag = typename detail::ParameterTraits<T>::tag;
49+
4950
public:
5051
using ParameterType = T;
5152
static constexpr Flags flags = Flags::HAS_GET_SET_HAS;
@@ -61,9 +62,10 @@ namespace adm {
6162
/// base class with set/get/has/isDefault/unset methods for an optional
6263
/// parameter of type T with no default. combine these together using
6364
/// HasParameters
64-
template <typename T,
65-
typename Tag = typename detail::ParameterTraits<T>::tag>
65+
template <typename T>
6666
class OptionalParameter {
67+
using Tag = typename detail::ParameterTraits<T>::tag;
68+
6769
public:
6870
using ParameterType = T;
6971
static constexpr Flags flags =
@@ -82,9 +84,10 @@ namespace adm {
8284
/// base class with set/get/has/isDefault/unset methods for an optional
8385
/// parameter of type T, which has a default provided by DefaultParameter.
8486
/// combine these together using HasParameters
85-
template <typename T,
86-
typename Tag = typename detail::ParameterTraits<T>::tag>
87+
template <typename T>
8788
class DefaultParameter {
89+
using Tag = typename detail::ParameterTraits<T>::tag;
90+
8891
public:
8992
using ParameterType = T;
9093
static constexpr Flags flags =
@@ -112,9 +115,9 @@ namespace adm {
112115
/// base class for storage of multiple elements in a std::vector.
113116
/// T should be a std::vector<Something>, as this is what the tag is
114117
/// associated with.
115-
template <typename T,
116-
typename Tag = typename detail::ParameterTraits<T>::tag>
118+
template <typename T>
117119
class VectorParameter {
120+
using Tag = typename detail::ParameterTraits<T>::tag;
118121
using Value = typename T::value_type;
119122

120123
public:

0 commit comments

Comments
 (0)