構造体は型と名前のペアから成るリストと考える。

typedef ID TypeID;

//構造体情報
struct StructureInfo
{
ID m_structure_id; // TypeInfo.m_sub_idと同じ
std::vector<std::pair<TypeID, Name> > m_members; //メンバーたち
};
std::map<Name, StructureInfo> structure_info;