У меня есть функция с двумя аргументами шаблона, один для векторного типа данных (int
, float
, double
и т. Д.) И один для целочисленного типа (int
, int16_t
, uint32_t
и т. Д.):
template <typename T, typename I>
void
add(std::vector<T> array, std::vector<I> idx) {
// ...
}
Для тестов теперь я бы хотел перебрать все возможные комбинации типов данных / целых чисел, например,
// pseudo code
for I in [int, int16_t, int32_t, ...] {
for T in [float, double, int, int16_t, ...] {
// create arguments a, b
add<T, I>(a, b);
}
}
Можно ли вообще зацикливаться на типах? Как?