U class bych musel vymýšlet rozhraní. musel bych pak dědit ten class - moc komplikovaný
takhle mohu napsat
parse(function() { //... return ... })
a vyšvihnout tam inline generátor. Jde o to, že rozhraní je jasně daný. Je to funkce, volá se bez parametrů a vrací další znak. string_stream je jen jedna možná implementace. Čtení ze souboru bude vypadat jinak ale bude mít stejně jednoduché rozhraní.
Zápis do streamu je zase funkce, která přijímá znak. Případně null (zapíše EOF)