Templates
For a function template (or a member function of a class template), all instantiations share one counter set. Coverage measured by Testwell CTC++ refers to the common definition in source code, not to separate instantiations in binary code.
Example
The function template max
template <typename T> T max(T x, T y){ if (x > y){ return x; } else { return y; } }
is tested once for a float
and once for an int
instantiation with:
float myfloat = max<float>(3.14159, 2.71828); int myint = max<int>(127, 8191);
The coverage result is
![](max_function_template_coverage.png)