xieite::type_list<Ts...>::xform<>

Defined in fragment xieite:type_list
(header-only: <xieite/meta/type_list.hpp>)


Instantiates another template with the elements of a xieite::type_list as the arguments.


Declaration

template<std::size_t arity, auto fn>
requires(!(sizeof...(Ts) % arity))
using xform = /* xieite::type_list<???> */;


Example

import std;
import xieite;

int main() {
	using Foo = xieite::type_list<int, char, float, double, void, bool>;

	using Bar = Foo::xform<2, []<typename T, typename U, typename...> {
		return std::type_identity<std::pair<T, U>>();
	}>;

	xieite::dump(xieite::name<Bar>());
}
Possible output:
xieite::type_list<std::pair<int, char>, std::pair<float, double>, std::pair<void, bool>>
[View in Compiler Explorer]