xieite ::type_list <Ts ...>::xform_flat <>
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_flat =/* xieite::type_list<???> */ ;
Example
Possible output:import std ;import xieite ;int main () {using Foo =xieite ::type_list <int ,char ,float ,double ,void ,bool >;// Swap every 2 elements using Bar =Foo ::xform_flat <2 , []<typename T ,typename U ,typename... > {return std ::type_identity <std ::pair <U ,T >>(); }>;xieite ::dump (xieite ::name <Bar >()); }
xieite::type_list<char, int, double, float, bool, void>