Stream networks

When a store stream is created, a stream ID is generated. This ID can be used to open the stream later. Stream IDs can be externalised into another stream, and this allows streams in a store to be built into a network.

An object that is saved to a store may use a network of streams, typically starting with a single head stream.

An object stores itself using a function of the form:


Given the correct stream ID, the object may be restored using a function of the form:


where store is a reference or pointer to a store.

The function names StoreL() and RestoreL() are conventional for this purpose.

The following diagram shows the idea of stream networks: