@@ -48,29 +48,10 @@ concept Dimension = (D == 2 || D == 3);
4848 template <Numeric NTypeName, int DName> \
4949 requires Dimension<DName>
5050
51- #define VIENNAPS_TEMPLATE_ND_FWD (NTypeName, DName ) \
52- template <Numeric NTypeName, int DName> \
53- requires Dimension<DName>
54-
5551#else
5652
5753// Fallback path (no concepts)
58- template <typename T>
59- inline constexpr bool Numeric_v =
60- std::is_same_v<T, float > || std::is_same_v<T, double >;
61-
62- template <int D> inline constexpr bool Dimension_v = (D == 2 || D == 3 );
63-
64- // No default argument here -> avoids "redefinition of default argument"
6554#define VIENNAPS_TEMPLATE_ND (NTypeName, DName ) \
66- template <typename NTypeName, int DName, \
67- std::enable_if_t <Numeric_v<NTypeName> && Dimension_v<DName>, int > \
68- SFINAE>
69-
70- // Forward-decl helper that supplies a concrete SFINAE argument
71- #define VIENNAPS_TEMPLATE_ND_FWD (NTypeName, DName ) \
72- template < \
73- typename NTypeName, int DName, \
74- std::enable_if_t <Numeric_v<NTypeName> && Dimension_v<DName>, int > = 0 >
55+ template <typename NTypeName, int DName>
7556
7657#endif
0 commit comments