XIEITE_LIFT (), XIEITE_LIFT_LOCAL (), XIEITE_LIFT_MEMBER ()
Defined in header <xieite/pp/lift.hpp> Wraps a function in a lambda object.
Definitions
#liftExpands to a lambda expression with no capture-default, a#define XIEITE_LIFT (... )/* []??? { ??? } */
static specifier, and variadic forwarding reference parameters.#lift-local
Expands to a lambda expression with a reference capture-default and variadic forwaring reference parameters.#define XIEITE_LIFT_LOCAL (... )/* [&]??? { ??? } */
#lift-member
Same as #lift but calls a member of its first parameter with the rest of its parameters. Expects the user to provide#define XIEITE_LIFT_MEMBER (... )/* []??? { ??? } */
. or ->.Example
Output:void run (auto fn ) {fn ("Hello, world!" ); }int main () {run (XIEITE_LIFT (xieite ::dump )); }
[View in Compiler Explorer]Hello, world!