J'ai besoin de sérialiser std :: wstring par ma propre méthode. Comment forcer boost à utiliser mes méthodes de sérialisation au lieu des méthodes par défaut? Merci.boost.serialization et remplacer la méthode existante de sérialisation std :: wstring
0
A
Répondre
1
Untested, mais vous voudriez spécialiser boost :: sérialisation :: archives pour votre type de données:
namespace boost { namespace serialization { template<class Archive> void serialize(Archive & ar, std::wstring& s, const unsigned int version) { for (std::wstring::iterator it = s.begin(); it != s.end(); ++it) ar >> *it } } // namespace serialization } // namespace boost
Ce code devrait essentiellement travailler en l'état, vous voulez simplement à modifier le contenu de la fonction serialize (mais pas la signature.)
Pourquoi vous voudriez sérialiser un wstring de toute autre manière que juste l'impression (ie. juste en utilisant iostreams normale), je ne sais pas.
Questions connexes
- 1. boost.serialization et initialisation paresseuse
- 2. std :: wstring length
- 3. Comment utiliser std :: wstring avec std :: istringstream?
- 4. Structure Init avec std :: wstring
- 5. Convertir CString en std :: wstring
- 6. Quelle est la différence entre "UTF-16" et "std :: wstring"?
- 7. xcode std :: wcout avec wchar_t ou std :: wstring!
- 8. Comment convertir depuis std :: wstring _TCHAR []?
- 9. boost.serialization - version gratuite et implémentation de la classe de base
- 10. C++: utilisation de std :: wstring dans la fonction API
- 11. Comment convertir std :: wstring en TCHAR *
- 12. Comment réinitialiser/vider dans un std :: wstring?
- 13. Comment les tampons de protocole peuvent-ils prendre en charge la sérialisation/désérialisation des conteneurs std?
- 14. membres statiques et augmentation de la sérialisation
- 15. boost :: système de fichiers :: chemin (std :: wstring) exception throw
- 16. isupper et islower pour wstring
- 17. Comment remplacer une méthode d'instance existante d'un module dans Ruby?
- 18. convertir std :: wstring en const * char en C++
- 19. Comment ajouter un wstring?
- 20. comment utiliser std :: wifstream pour lire son contenu en tant que std :: wstring
- 21. remplacer l'entité existante via bulkloader.Loader
- 22. Remplacer les rails rendre la méthode et remplacer le contenu
- 23. Code de méthode dans la sérialisation C#
- 24. Javascript remplacer la méthode, remplacer par "$ 1"
- 25. Convertir TCHAR * -> std :: wstring dans les environnements unicode et non-unicode
- 26. AspectJ: Comment remplacer une annotation existante
- 27. exception PRISM sur pas la méthode existante
- 28. typedef'ing STL wstring
- 29. Sérialisation de la classe STL
- 30. Ajout d'une nouvelle JavaDoc à la super-méthode existante
des idées? code de test ici: http://liveworkspace.org/code/5f8a62c02c8cf96a909666ad8b40a6e5 – niXman