Serializable helpers

i’ve uploaded a bunce of classes for easily make object serialization. a factory is provided for XML save/restore, but you could easily write another factory for serialize to/from files directly, databases, whatever… since Serializable is templated with an in/out class. you can find also an example app. i would like to work more on it, but for now is good as it is.

ejuce_Serializable.zip

p.s. i use it a lot in my projects, in a everyday basis.
maybe you could find it useful for your purposes :wink:

How much is it like boost::serialize? Does it support versioning and a pointer registry (only serialize one object, but relink that one object when it is recreated when unserialized) at least?

A wrapper for XML save/restore and such over boost::serialize would be quite nice.

i don’t know if is like boost or any other library out there. is just a plain simple, easy, juce style serializable. if you like boost you could write your own serializable. you’ll certainly know that tool better than me. i don’t have time nor feeling of entering a 25 megs header files library dependancy in my projects actually, sorry… maybe in the future.

Actually you can pull what you want out of boost and use it in your own project, its license is one of the least restrictive in existance. The thing about boost::serialize is that (as stated) handles multiple pointers to the same object, also handles versioning, etc… I actually do think one of its saving engines does save as an xml file now that I think of it…

the only thing about boost is that plugging it inside my projects just make the code unreadable and unmaintainable. it has sure good features in it, but actually isn’t usable for my purposes. i prefer keep things easy to read and to maintain. afterall i’m not l33t as coders using boost here and there, sorry :wink:
anyway i’ve made something simpler that even blind coders could use without the need of reading how it works.

Actually, from what I’ve seen, using yours is very similer to using boost’s, just without things like versioning (only if you handle it) and dealing with pointers correctly. I could really care less about the other things boost’s does, but dealing with pointers correctly is a big mark in my book…