I am a huge FlexBox fan, and with these two little changes, it would be super easy to create complex layouts, but at the same time keeps things in the logical position (like in html), in a SINGLE nested array.
Allow FlexItems to embed another FlexBoxes per VALUE
now FlexItem (FlexBox& flexBoxToControl)
then FlexItem (FlexBox flexBoxToControl)
(FlexBox needs to be stored internally)
and
allow adding Items directly in the FlexBox constructor
I’m all for these changes, but just to suggest a slightly alternative way that you may find useful (although admittedly requires a lot more code) - I find the Builder pattern is really useful for this sort of thing: