From: Daniel Arndt Date: Tue, 25 Jan 2022 16:08:01 +0000 (-0500) Subject: Move detection idiom to internal namespace X-Git-Tag: v9.4.0-rc1~563^2~1 X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=40e0b34439f84afb504bab9f34a600ac2d9ba6c6;p=dealii.git Move detection idiom to internal namespace --- diff --git a/include/deal.II/base/template_constraints.h b/include/deal.II/base/template_constraints.h index 31c4fab041..4f6efbbd86 100644 --- a/include/deal.II/base/template_constraints.h +++ b/include/deal.II/base/template_constraints.h @@ -27,14 +27,13 @@ DEAL_II_NAMESPACE_OPEN -template -using void_t = void; - // Detection idiom from Version 2 of the C++ Extensions for Library // Fundamentals, ISO/IEC TS 19568:2017 - namespace internal { + template + using void_t = void; + // base class for nonesuch to inherit from so it is not an aggregate struct nonesuch_base {}; @@ -58,34 +57,36 @@ namespace internal using value_t = std::true_type; using type = Op; }; -} // namespace internal -struct nonesuch : private internal::nonesuch_base -{ - ~nonesuch() = delete; - nonesuch(nonesuch const &) = delete; - void - operator=(nonesuch const &) = delete; -}; -template class Op, class... Args> -using detected_or = internal::detector; -template