Re: [Cppcms-users] Serialization usage
Brought to you by:
artyom-beilis
|
From: Artyom B. <art...@ya...> - 2014-06-28 15:50:48
|
Because std::string isn't Plain Old Object - it has constructor/destructor etc. You can't serialize it as POD you need to serialize all its members independently Artyom Beilis -------------- CppCMS - C++ Web Framework: http://cppcms.com/ CppDB - C++ SQL Connectivity: http://cppcms.com/sql/cppdb/ >________________________________ > From: CN <cn...@fa...> >To: cpp...@li... >Sent: Friday, June 27, 2014 1:03 PM >Subject: [Cppcms-users] Serialization usage > > >I feel this code has little difference from the bundled example, but it >yields garbage. Any idea why? >---------------------- >#include <cppcms/serialization.h> >#include <cppcms/application.h> >#include <cppcms/cache_interface.h> >#include <cppcms/session_interface.h> >#include <iostream> >struct person >{ > std::string id; > std::string name; > std::string address; >}; > >struct serializable_person : public cppcms::serializable >{ > person p; > void serialize(cppcms::archive &a){ > a & cppcms::as_pod(p); > } >}; > >struct serializable_v : public cppcms::serializable >{ > std::vector<serializable_person> many; > void serialize(cppcms::archive &a){ > a & many; > } >}; > >int main(int argc,char **argv) >{ > serializable_v obj; > > obj.many.push_back(serializable_person()); > person &p=obj.many.back().p; > p.id="1"; p.name="John"; p.address="here"; > > obj.many.push_back(serializable_person()); > person &p1=obj.many.back().p; > p1.id="1"; p1.name="John"; p1.address="here"; > > cppcms::archive a; > obj.save(a); > std::cout << a.str(); //garbage > return 0; >} > >-- >http://www.fastmail.fm - IMAP accessible web-mail > > >------------------------------------------------------------------------------ >Open source business process management suite built on Java and Eclipse >Turn processes into business applications with Bonita BPM Community Edition >Quickly connect people, data, and systems into organized workflows >Winner of BOSSIE, CODIE, OW2 and Gartner awards >http://p.sf.net/sfu/Bonitasoft >_______________________________________________ >Cppcms-users mailing list >Cpp...@li... >https://lists.sourceforge.net/lists/listinfo/cppcms-users > > > |