Une petite recherche sur basic_istream (étant donné que istream n'en est qu'un typedef ;)) m'a mené, entre autre, à cette information concernant le constructeur:
Cela sous entend que, pour l'appeler, il faut lui fournir un pointeur sur __streambuf_type, mais la doc indique clairement que l'utilisateur ne devrait jamais appeler le constructeur directement et préférer passer les classes dérivées.
Les classes dérivée de basic_istream sont basic_istringstream basic_iostream et basic_fstream, ainsi que le montre
le diagramme d'héritage ;)
Ce qui va relativement bien dans le sens de ce que je dis, un istream est peut être un peu trop général pour servir de membre ;)