C++ (Qt)std::map<Extent, std::vector<Matrix>> theMap;for (const auto & it : data) theMap[it.m_extent].push_back(it.m_matrix);
C++ (Qt)struct Matrix { double m[16];};struct Extent { int m_type; Vec3f m_points[8];};
struct Data { Extent m_extent; Matrix m_matrix };std::vector<Data> data;std::map<Extent, std::vector<Matrix>> theMap;for (const auto & it : data) theMap[it.m_extent].push_back(it.m_matrix);
std::unordered_map<Extent, std::vector<Matrix>> theMap;
C++ (Qt)std::map<Extent, std::vector<Matrix>> theMap;