diff --git a/libsrc/core/utils.hpp b/libsrc/core/utils.hpp index 210ba738..79d919c0 100644 --- a/libsrc/core/utils.hpp +++ b/libsrc/core/utils.hpp @@ -253,6 +253,27 @@ namespace ngcore template using IC = std::integral_constant; // needed for Iterate + + + namespace detail { + template + struct IsIC_trait { + static constexpr auto check() { return false; } + }; + + template + struct IsIC_trait> == true, int> > { + static constexpr auto check() { return true; } + }; + } + + template + constexpr bool is_IC() { + return detail::IsIC_trait::check(); + } + + + template NETGEN_INLINE void Iterate (FUNC f)