//// Copyright 2024 Joaquin M Lopez Munoz Distributed under the Boost Software License, Version 1.0. See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt //// [#lambda] # Lambda, :toc: :toc-title: :idprefix: ## mp_lambda template using mp_lambda = /*...*/; `mp_lambda` is a quoted metafunction whose nested template `fn` returns a type `V` with the same syntactic definition as `T`, except that occurrences of placeholders in `T` are replaced by the corresponding element of `U...`. For example, `mp_lambda>::fn` is `std::pair`. Replacement does not happen inside those constituent parts of `T` resulting from the instantiation of a class template with non-type template parameters. NOTE: In GCC 4.8, a compiler bug results in `const` and `volatile` qualifiers being stripped from the returned type `V` (except when they are applied to function or member function types). NOTE: `mp_lambda` is not supported in VS2013 and prior due to compiler limitations.