diff --git a/dumux/experimental/common/CMakeLists.txt b/dumux/experimental/common/CMakeLists.txt index 48091bece4de4a1564c20630d6ec04c094ce7fa1..e134777807bb244a5e5a3af91de08ee5a84bd996 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 0000000000000000000000000000000000000000..2b74f53d1ec9cf84da9419e5d317128ba6c69935 --- /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 0000000000000000000000000000000000000000..ad1aad6c4b7744b59b93d8f9a7db233ab86ca82b --- /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