Serialization
Adding serialization to a couple base classes and 'simple' derived classes (simple as in fully public).
The serialization scheme allows for 'non-intrusive' serialization in the sense that it does not requires to intrusively modify a class so that you are stuck with the library. Later update for more complex class (e.g. with private members) will require the addition of a library-agnostic intruder into such classes.
Thus if one does not have the serialization library, wolf still compiles.
This rely on the cereal library ( can't past a link, google : github cereal serialization ).
It add function 'wolf::save' and 'wolf::load'.
Both works quite simply, given a full path it saves/loads the the object(s) to the file and vice-verse.
It automatically deduce the format to save as from the file name extension.
So far it handles 'xml' ,'json' and 'binary'.
See the gtest for usage example.
This is somewhat similar to the early dev for instantiating Param classes from yaml file, but this is simpler, much more powerful and support at as now 3 file formats including 2 that are human readable ! (see attached file).
Merge request reports
Activity
mentioned in merge request !85 (closed)
added 2 commits
added 733 commits
-
968c36d0...77815423 - 731 commits from branch
master
- fc08ddb8 - add cereal serialization and functions helper
- 5d5a20b6 - serialization for a bunch of base class and simple derived + gtest
-
968c36d0...77815423 - 731 commits from branch
assigned to @jsola
added enhancement label
mentioned in commit 760c5941