Like other iostream classes, the portal stream classes use an object derived from a Standard C++ Library
streambuf for buffering and final input and output of the byte stream. The
RWPortalStreambuf class used by the portal streams contains an
RWPortal. The portal stream class does the formatting, the
streambuf buffers the data, and finally the portal object is responsible for requesting or passing bytes to a communications channel.
Figure 7 is an object diagram that shows how this data flow works.