Bonjour, je désire sérialiser (en binaire) un objet de type __gnu_cxx::hash_map mais je ne vois pas bien la procédure à suivre,

En fait il s'agit d'une hashmap avec des entiers non signés en clé et valeur . Cette hash_map code une table de correspondance entre des identifiants. Le nombre d'élément est de l'ordre du millions (de 1 à 15 millions grosso modo).


Sur ma hash_map:

__gnu_cxx::hash_map<unsigned int,unsigned int> corresp

Je serais tenté de faire un simple:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
inline void ecrireBinaire(ostream& out, const value_type& v) {
    out.write((char*)&v, sizeof(v));
}
que j'appelerais sur la hash_map comme il suit:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
ecrireBinaire( out, corresp);
out étant un ostream.

Je n'ai pas l'habitude de sérialiser en c++ d'où ma question: quelle est la meilleur solution? Je se souhaite le faire sans Boost car j'ai quelques soucis pour installer correctement Boost .

Cordialement,