summaryrefslogtreecommitdiff
path: root/src/core/templates.h
blob: 833bb5b029c84228a84bae266f91ba2f610a5dd0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#pragma once

namespace saw {

template <class T, class... TL> struct parameter_pack_index;

template <class T, class... TL> struct parameter_pack_index<T, T, TL...> {
	static constexpr size_t value = 0u;
};

template <class T, class TL0, class... TL>
struct parameter_pack_index<T, TL0, TL...> {
	static constexpr size_t value =
		1u + parameter_pack_index<T, TL...>::value;
};
}