I have a template method in class:
template<class T>
A& doSomething(T value)
Then I have an implementation
template<class T>
A& A::doSomething(T value){
// do something with value
return *this;
}
Then I have a specialization for lets say bool
template<>
A& A::doSomething(bool value){
// do something special with value of type bool
return *this
}
This is what I understand, now in the code there is something like this which I don't know what mean:
template A& A::doSomething(char const*);
template A& A::doSomething(char);
template A& A::doSomething(int);
template A& A::doSomething(int*);
template A& A::doSomething(double);
...
What is the exact meaning of those last 5 lines with template?
Thanks