That was probably poorly worded, but I remembered its meaning now. I was trying to express that it might be difficult to implement as functions, unless I would create and overload lots of free functions instead of like wrapped in one class.It seems difficult to implement this as functions unless there are many
But you are right - I will try to break this into free functions.
As for the rest of the feedback...
1 & 2) Yes, my mistake. Although by just storing the parameters in the constructor and putting all the code inside the operator >>, I might eliminate those two. I think. Good to remember.
3) It's likely a relic... it was supposed to be used. At least later. But in this experimental implementation, I did not substitute cout, cin, etc.
4) For some reason VS just complains "2>error C2660: 'Input<DataT>::Input' : function does not take 3 arguments". Now what I had expected...
5) That is a good idea.
Anyway, this was sort of what I wanted to encapsulate in functions or a class. Now the problem is just to discover if it's feasible to make as free functions.
UPDATE:
I managed to implement them as free functions.
The only problem I see now (that I did not see before), is some more template trickery to select a proper string type to store data in. I'm considering std::basic_string<T>, but it would require me to fetch the base-type of the string template parameter.
I put a comment there. Before the std::getline function.
Hopefully this is a good approach.