data: refined template parameter names

* Fixed template parameters to be resolved to their correct names even if they are (re)definied outside of the class (e.g. for template method definitions).
* Added test code.
This commit is contained in:
malte_langkabel
2015-02-27 14:40:38 +01:00
parent 4f7d31eb79
commit d0c92a6553
9 changed files with 101 additions and 71 deletions
+9 -5
View File
@@ -1,10 +1,14 @@
template <typename T>
template <typename T, typename U>
class TemplateTestClass
{
void run(T param);
public:
template <typename P>
void run(P param);
};
template <typename T>
void TemplateTestClass<T>::run(T param)
template <typename T, typename U>
template <typename P>
void TemplateTestClass<T, U>::run(P param)
{
}
}
+4 -1
View File
@@ -2,6 +2,9 @@
int main()
{
TemplateTestClass<int> t2;
TemplateTestClass<float, float> t1;
t1.run<float>(6.9f);
TemplateTestClass<int, int> t2;
t2.run<int>(6);
return 0;
}