| 1234567891011121314151617181920212223242526272829303132333435363738 | /*!@fileDefines `boost::hana::id`.@copyright Louis Dionne 2013-2017Distributed under the Boost Software License, Version 1.0.(See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt) */#ifndef BOOST_HANA_FUNCTIONAL_ID_HPP#define BOOST_HANA_FUNCTIONAL_ID_HPP#include <boost/hana/config.hpp>BOOST_HANA_NAMESPACE_BEGIN    //! @ingroup group-functional    //! The identity function -- returns its argument unchanged.    //!    //! ### Example    //! @include example/functional/id.cpp#ifdef BOOST_HANA_DOXYGEN_INVOKED    constexpr auto id = [](auto&& x) -> decltype(auto) {        return forwarded(x);    };#else    struct id_t {        template <typename T>        constexpr T operator()(T&& t) const {            return static_cast<T&&>(t);        }    };    constexpr id_t id{};#endifBOOST_HANA_NAMESPACE_END#endif // !BOOST_HANA_FUNCTIONAL_ID_HPP
 |