Pavel Samolysov
::tuple<std::vector<CCircle>, std::vector<CRect>> xxx; и затем auto get<CRect>(id); Тут разве нигде не вариант?
Вектор для примера. Если, скажем, тебе в классе нужны 1) опции, 2) логгер, 3) дб-коннекшн, то ты точно так же все три засовываешь в одну туплю и счастлив.