xieite::type_list<Ts...>::swap_slices<>

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


Swaps the elements of two subranges of a xieite::type_list by their start and end indices. The end indices are exclusive.


Declaration

template<std::size_t start0, std::size_t end0, std::size_t start1, std::size_t end1>
using swap_slices = /* xieite::type_list<???> */;


Example

import xieite;

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

	xieite::dump(xieite::name<List::swap_slices<0, 2, 2, 4>>());
}
Possible output:
xieite::type_list<float, double, int, char>
[View in Compiler Explorer]