The second template parameter defines the char type of the input stream you are using, for std::cin that is 'char' which is the default parameter. So you might try
std::istream_iterator<char> in(std::cin);
If you want to overwrite the distance type, you have to use the 4th template parameter (but since the default already is ptrdiff_t, there would be no point in that).
BTW, while std::istream_iterator is a model for the concept Input Iterator, it is not "the" input iterator.