   Article on simple Serialization for C++
  In my spare time, I'm writing a Serialization utility for my game engine, and was wondering if an article about it would be of use to someone.The reader is almost complete (the writer is still in the works); to be released under the MIT license.Currently available features are:-> very easy to use; just add two files to your project (.h + .cpp); setup the search directories to point to the required folder and it's done.-> simple, easy to read and edit, "C" style file format.-> supports intrusive and non-intrusive methods for reading data.    * non-intrusive method is usually used for reading PODs with public members.    * intrusive method is usually used for reading classes with private members.-> cross-platform (written in standard C++).-> does not require RTTI-> does not require exceptions to be enabled-> supports loading of the STL containers (containers can be nested): vector, list, deque, pair, map, multimap, set, multiset, string.-> supports loading of pointers    * supports loading of data structures which form graphs    * supports loading of pointers within containers (not sure if boost serialization supports this)    * supports loading of forward references to objects by pointers (afaik, boost serialization doesn't support this).-> supports loading of polymorphic types (without requiring them to be actually polymorphic; i.e., they don't have to have any virtual functions).-> does not add any overhead (in terms of space/time) to the types it can load.-> handles multiple inheritance (although it cannot handle virtual base classes as yet; i.e., diamond inheritance).-> code is small in size; negligible impact on the size of the final executable (intended for my PSP/DS homebrew coding as well).The utility has been designed with ease of use in mind. If there's any interest, I could write an article about it.Although the reader is almost done, the writer hasn't been started as yet; still I think the reader alone will be useful for most hobby developers.[Edited by - FrancisXavier on June 5, 2009 10:51:17 AM]
  Sounds good.  Would love to read a white paper on useful serialization.  Been meaning to write a general purpose library myself for this   ;  Before I start writing the article, I would like to get some feed back on the project.You can get the source code here:Project Page: http://sourceforge.net/projects/daabliSVN URL: https://daabli.svn.sourceforge.net/svnroot/daabli/trunkCurrently it only handles deserialization (and all the features mentioned in my earlier post).Please check out the examples:trunk\Examples\Simpletrunk\Examples\NonIntrusivetrunk\Examples\Intrusivetrunk\Examples\PointersThanks,Francis Xavier   ;  im not sure if you have what i am looking for. an article might be usefull, but depends on what type of article it is. im writing something like a tool in pure c++, and i wonder if serialization might be good for loading and saving data. i havent read much about serialization before, that means i cant remember what capabilities serialization had. i am not looking for any libraries but more about information and code on how to implement this in my own engine.   ;  If you require loading AND saving, then you can't use this project as yet. Currently it only does loading; saving implementation is in the works. So this project can help you load objects/data which was described manually (human written).I've tried to write the code so that it can be used in projects without requiring any modifications. So you should be able to use the code without reimplementing things.However, the code is open source, so there's nothing stopping you from reading through it and reimplementing the parts you require in your game.