### IStreamOutFrame

  Allows testing for the end of an object's data. This class is part of the streaming systems facilities for release-to-release data compatibility (RRDC).

  RRDC allows a user class to stream out its instance data in such a way that either newer or older versions of the class will be able to succsessfully read the data.

  For any application class that supports RRDC, the override of IMStreamable::writeToStream() must declare a local instance of IStreamOutFrame before streaming out the member data of the class. The scope of this local variable must enclose all of the stream-outs of the member data.

  The effect of the the presence of an IStreamOutFrame on the IDataStream is to delimit, or frame, the data that is written to the stream. This allows the reader of the stream to determine whether the stream has too little data (old writer, new reader), the right amount of data (compatible reader and writer), or too much data (new writer, old reader). In the case of too much data, the frame provides the information needed to automatically skip over the extra data.

  Use of stream frames is required in classes, even in their first release, if RRDC may be required for subsequent releases.

  Example

      //
      //  An example of a class and writeToStream function.
      //    RRDC with other versions of the class is allowed
      //    for through the use of IStreamOutFrame.
      //
      class myClass: public IMStreamable {
          ...
          int              fData1;
          someType   fData2;
          ...
      };

      void myClass:writeToStream(IDataStream &toWhere) {
          IStreamOutFrame frame(toWhere);
          fData1 >>= toWhere;
          fData2 >>= toWhere;
      };

### IStreamOutFrame - Member Functions and Data by Group

### Constructors & Destructor

The constructor and destructor for this class.

~IStreamOutFrame

      public:
      ~IStreamOutFrame()

  Destructor. IStreamOutFrame objects are always allocated on the stack, so the destructor is invoked automatically when the variable goes out of scope.

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | Yes

IStreamOutFrame

      public:
      IStreamOutFrame(IDataStream& aStream)

  Construct an IStreamOutFrame. This will normally be a local variable within the writeToStream() method of a streamable class.

  aStream
    the stream that is being written.

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | Yes

### IStreamOutFrame - Inherited Member Functions and Data

#### Inherited Public Functions

  - None

#### Inherited Public Data

  - None

#### Inherited Protected Functions

  - None

#### Inherited Protected Data

  - None