Loading...
Searching...
No Matches
functional.hh
Go to the documentation of this file.
// -*- tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*-
// vi: set ts=8 sw=2 et sts=2:
// SPDX-FileCopyrightInfo: Copyright © DUNE Project contributors, see file LICENSE.md in module root
// SPDX-License-Identifier: LicenseRef-GPL-2.0-only-with-DUNE-exception
#ifndef DUNE_COMMON_STD_FUNCTIONAL_HH
#define DUNE_COMMON_STD_FUNCTIONAL_HH
#include <functional>
#include <dune-common-config.hh> // DUNE_HAVE_CXX_STD_IDENTITY
namespace Dune
{
namespace Std
{
#if DUNE_HAVE_CXX_STD_IDENTITY
using std::identity;
#else //DUNE_HAVE_CXX_STD_IDENTITY
struct identity {
template<class T>
constexpr T&& operator()(T&& t ) const noexcept {return std::forward<T>(t);}
};
#endif
} // namespace Std
} // namespace Dune
#endif // #ifndef DUNE_COMMON_STD_FUNCTIONAL_HH
Dune
Dune namespace
Definition alignedallocator.hh:13
Dune::Std
Namespace for features backported from new C++ standards.
Definition algorithm.hh:19
Dune::Std::identity
A function object type whose operator() returns its argument unchanged.
Definition functional.hh:27
Dune::Std::identity::operator()
constexpr T && operator()(T &&t) const noexcept
Definition functional.hh:29