This document describes using a store map as a repository for Swizzles and associated stream IDs.
A store map is a table of entries where each entry consists of a Swizzle and a stream ID.
When the in-memory object represented by a Swizzle is externalised, the resulting stream ID and the associated Swizzle can be added to a store map. The effect is to create an entry in the store map table containing the stream ID and the associated Swizzle; the Swizzle is said to be bound to the stream ID. Creating this entry in the store map is done using CStoreMap::BindL().
For a container type class CCompound, the diagram below shows the result of:
streaming out the in-memory objects represented by the Swizzles iA, iB and iC.
binding the swizzles with the resulting stream IDs
The other characteristics of a store map follow from this.
Entries in the store map can be deleted. An entry can be identified either by Swizzle or by stream ID. CStoreMap::Unbind() deletes an entry identified by Swizzle; CStoreMap::Forget() deletes an entry identified by stream ID.