xte::fold<>

Defined in header <xte/meta/fold.hpp>

A utility for turning recursive function calls into a single fold expression, if the total number of iterations is known beforehand.


Definition

template<auto fn, typename T, typename... Ts>
constexpr decltype(auto) fold = /* ??? */;


Example

static_assert(xte::is_same<int***, typename[:xte::fold<[]<auto x, auto> {
	return ^^typename[:x:]*;
}, ^^int, 3>:]>);
[View in Compiler Explorer]