NES Cart Database に text 情報全ての xml がおいてあったし、 wxWidgets に xml が読めるクラスがあったのでおためし程度。
わりといけることがわかったが、 wxWidgets をつかわない CUI mode では使えない構造なので採用しないかも。xml パーサはともかくとして、 CRC を探し当てるのに毎度順番に参照してたら(比較してないのでたぶん)遅いので、 CRC base に hash table (wxHashMap) を使ってみたんだが、これも wxWidgets のクラスだからちょっと。 STL にあれば採用してもいいかな。
wxHashMap をポインタで使う場合はちょっとこけがちなのでこうしておく。
#include <wx/wx.h> #include <wx/xml/xml.h> WX_DECLARE_HASH_MAP(unsigned long, wxXmlNode *, wxIntegerHash, wxIntegerEqual, CartridgeHash); void value(unsigned long key, wxXmlNode *data) { CartridgeHash c; c[key] = data; } void pointer(unsigned long key, wxXmlNode *data) { CartridgeHash *c = new CartridgeHash(); (*c)[key] = data; // *c[key] だと *(c[key]) と評価される }
ポインタなんて嫌い。