Horizon
Loading...
Searching...
No Matches
meta::defer< C, Ts > Struct Template Reference

A wrapper that defers the instantiation of a template C with type parameters Ts in a lambda or let expression. More...

#include <meta.hpp>

Inheritance diagram for meta::defer< C, Ts >:
concepts::common_reference< T, U, Vs... > concepts::common_type< T, U, Vs... > meta::extension::apply< Fn, Ret(Args...)> meta::extension::apply< Fn, T< Ts... > > meta::extension::apply< Fn, integer_sequence< T, Is... > >

Detailed Description

template<template< typename... > class C, typename... Ts>
struct meta::defer< C, Ts >

A wrapper that defers the instantiation of a template C with type parameters Ts in a lambda or let expression.

In the code below, the lambda would ideally be written as lambda<_a,_b,push_back<_a,_b>>, however this fails since push_back expects its first argument to be a list, not a placeholder. Instead, we express it using defer as follows:

template <typename L>
if_c<(sizeof...(Ts) > 0), detail::lambda_< list< Ts... > > > lambda
For creating anonymous Invocables.
Definition meta.hpp:3594
_t< detail::reverse_fold_< L, State, Fn > > reverse_fold
Return a new meta::list constructed by doing a right fold of the list L using binary invocable Fn and...
Definition meta.hpp:1661
_t< detail::reverse_< L > > reverse
Return a new meta::list by reversing the elements in the list L.
Definition meta.hpp:2996

The documentation for this struct was generated from the following file: