Thanks to everyone for discussion in MagicRc, MagicWeak, MagicHashSet , it greatly clarified the question, which I am reposting here.
Suppose we have a 2D table.
- In the top row, we have obj-id. In the left colunmn, we have snapshot-id.
- Some (not all) cells are filled in. snapshots only contain some objects; objects only appear in some snapshots
- when an snapshot-id is dropped, we want to drop everything in the corresponding row
- when an obj-id is dropped, we want to drop everything in the corresponding column
- EDIT: objects can have different types; all objects within a single column have the same type, but different columns can have different types
How do we do this?