Object-Oriented I/O Using C++ IOSTREAMS