/* The molecule stream refers to the reaction as its base. */if(dt_base(container)==reaction)printf("You can access the reaction through the stream.\n");

/* The molecules are not deallocated when the molecule stream is deallocated. */dt_dealloc(container);if(dt_invalid(molecule1)==0)printf("The molecule is not deallocated.\n");

/* The stream is deallocated when the molecule is deallocated */container=dt_stream(reaction,TYP_MOLECULE);dt_dealloc(reaction);if(dt_invalid(container)==1)printf("The container is deallocated.\n");

Canonical form is O>>[H+].[OH-] and arbitrary form is O>>[OH-].[H+].
The molecule role is reactant.
The molecule role is product.
The NULL object is next.
Reset is like rewind.
You can access the reaction through the molecule.
You can access the reaction through the stream.
The molecule is not deallocated.
The container is deallocated.