From d738e179fbcdbc3a6b3706e853ea60b94125655f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Dennis=20Gl=C3=A4ser?= <dennis.glaeser@iws.uni-stuttgart.de>
Date: Wed, 27 Sep 2023 18:39:16 +0200
Subject: [PATCH] [common][typetraits] add noop function

---
 dumux/experimental/common/CMakeLists.txt      |  1 +
 .../common/typetraits/CMakeLists.txt          |  6 +++++
 .../common/typetraits/typetraits.hh           | 27 +++++++++++++++++++
 3 files changed, 34 insertions(+)
 create mode 100644 dumux/experimental/common/typetraits/CMakeLists.txt
 create mode 100644 dumux/experimental/common/typetraits/typetraits.hh

diff --git a/dumux/experimental/common/CMakeLists.txt b/dumux/experimental/common/CMakeLists.txt
index 48091bece4..e134777807 100644
--- a/dumux/experimental/common/CMakeLists.txt
+++ b/dumux/experimental/common/CMakeLists.txt
@@ -1,6 +1,7 @@
 # SPDX-FileCopyrightInfo: Copyright © DuMux Project contributors, see AUTHORS.md in root folder
 # SPDX-License-Identifier: GPL-3.0-or-later
 
+add_subdirectory(typetraits)
 file(GLOB DUMUX_EXPERIMENTAL_COMMON_HEADERS *.hh *.inc)
 install(FILES ${DUMUX_EXPERIMENTAL_COMMON_HEADERS}
         DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/dumux/experimental/common)
diff --git a/dumux/experimental/common/typetraits/CMakeLists.txt b/dumux/experimental/common/typetraits/CMakeLists.txt
new file mode 100644
index 0000000000..2b74f53d1e
--- /dev/null
+++ b/dumux/experimental/common/typetraits/CMakeLists.txt
@@ -0,0 +1,6 @@
+# SPDX-FileCopyrightInfo: Copyright © DuMux Project contributors, see AUTHORS.md in root folder
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+file(GLOB DUMUX_EXPERIMENTAL_COMMON_TYPETRAITS_HEADERS *.hh *.inc)
+install(FILES ${DUMUX_EXPERIMENTAL_COMMON_TYPETRAITS_HEADERS}
+        DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/dumux/experimental/common/typetraits)
diff --git a/dumux/experimental/common/typetraits/typetraits.hh b/dumux/experimental/common/typetraits/typetraits.hh
new file mode 100644
index 0000000000..ad1aad6c4b
--- /dev/null
+++ b/dumux/experimental/common/typetraits/typetraits.hh
@@ -0,0 +1,27 @@
+// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
+// vi: set et ts=4 sw=4 sts=4:
+//
+// SPDX-FileCopyrightInfo: Copyright © DuMux Project contributors, see AUTHORS.md in root folder
+// SPDX-License-Identifier: GPL-3.0-or-later
+//
+/*!
+ * \file
+ * \ingroup Typetraits
+ * \brief Type traits.
+ */
+#ifndef DUMUX_EXPERIMENTAL_TYPE_TRAITS_HH
+#define DUMUX_EXPERIMENTAL_TYPE_TRAITS_HH
+
+#include <type_traits>
+
+namespace Dumux {
+
+/*!
+ * \brief Function that performs no operation.
+ */
+inline constexpr auto noop = [] (auto...) {};
+using Noop = decltype(noop);
+
+
+} // end namespace Dumux
+#endif
-- 
GitLab