Yes, maybe I will try object variants. But they also have some disadvantages: 
Size is always determinated by largest variant, and additional space is 
consumed by discriminator. To get clean, simple code I would have to make each 
array element an object variant, with a common member bounding box. Then I 
could access box without any tests, and have to check discriminator field only 
for the rare cases where I have to access pointer to next node or content 
field. But that increases memory consumption, and fewer items fit into cache.

I could also divide the array with the node into two, one for the boxes, and 
one for pointers/content. Would allow easy box access, but would make moving 
elements more work.

Reply via email to