I am starting to write my own Non-STL fstream class because it is not supported by the compiler I'm using ( eVC++ 3.0). I looked at STLPort, but it is just too complex for what I really need. I have all the basic functionality working -- e.g. read, write in both binary and text modes. Now I want to start adding some of the more sophicated stuff, like setw() and setfill(). But I'm stuck on how to imnplement them. For example:

stream << setw(8) << setfill('*') << 123.45F << endl;

Can anyone tell me how setw and setfill functions are implemented so that they return the stream object?

Thanks