В doctest, платформе тестирования C ++, мы можем написать:
TEST_SUITE("foo") {
TEST_CASE_TEMPLATE("bar", T, t1, t2, t3) {
/* code using template parameter T */
}
}
, и это работает - если t1
, t2
, t3
являются типами . Он реализован так, что doctest генерирует код, включающий
template<typename T>
inline void DOCTEST_ANONYMOUS(_DOCTEST_ANON_TMP_)()
, и вызывает эту функцию для аргументов макроса после T
. Это, очевидно, не работает для значения аргументов, например, TEST_CASE_TEMPLATE("bar", MyType, v1, v2, v3)
.
Можем ли мы использовать doctest для создания шаблонов над параметрами цифр c?