Re:[boost] Serializing bitsets and tuples

Again, Robert, I have to thank you immensely for the Serialization library. It has made my life much easier.
Anyway, I was wondering, since you state in the manual that all STL containers are supported, why I can't seem to find std::bitset in that. I realize that it is probably not the most common container to serialize, but still. Also, considering the is Boost library now, I'm wondering about the apparent absence of serialization for boost::tuple. It's not the end of the world (I can write them myself rather easily, I suppose), but for completeness I'd think at least Boost.Tuple should be supported.
LOL - I never heard of std::bitset until you mentioned it. Also I think I overlooked vector<bool> as well. Feel free to implement serialization for them and put your name on it. Make a test and we'll add it in. Robert Ramey

Robert Ramey wrote:
Again, Robert, I have to thank you immensely for the Serialization library. It has made my life much easier.
Anyway, I was wondering, since you state in the manual that all STL containers are supported, why I can't seem to find std::bitset in that. I realize that it is probably not the most common container to serialize, but still. Also, considering the is Boost library now, I'm wondering about the apparent absence of serialization for boost::tuple. It's not the end of the world (I can write them myself rather easily, I suppose), but for completeness I'd think at least Boost.Tuple should be supported.
LOL - I never heard of std::bitset until you mentioned it. Also I think I overlooked vector<bool> as well.
Well, as I said: not the most often used STL collection. Anyway, I have now, what I *think* is a working std::bitset serialization routine. Needs a little testing, though. Also I've written no test case (yet). You *did* remember std::vector<bool> though. It's in <boost/serialization/vector.hpp>, so no problems here. I'll see if I can get a test case thrown together for std::bitset. I'll take a look at boost::tuple as well (but that should be big time trivial, so... :) )
Feel free to implement serialization for them and put your name on it. Make a test and we'll add it in.
Working on it...
Robert Ramey
-- /Brian Riis

Brian Riis wrote:
Robert Ramey wrote:
Again, Robert, I have to thank you immensely for the Serialization library. It has made my life much easier.
Anyway, I was wondering, since you state in the manual that all STL containers are supported, why I can't seem to find std::bitset in that. I realize that it is probably not the most common container to serialize, but still. Also, considering the is Boost library now, I'm wondering about the apparent absence of serialization for boost::tuple. It's not the end of the world (I can write them myself rather easily, I suppose), but for completeness I'd think at least Boost.Tuple should be supported.
LOL - I never heard of std::bitset until you mentioned it. Also I think I overlooked vector<bool> as well.
Well, as I said: not the most often used STL collection. Anyway, I have now, what I *think* is a working std::bitset serialization routine. Needs a little testing, though. Also I've written no test case (yet).
You *did* remember std::vector<bool> though. It's in <boost/serialization/vector.hpp>, so no problems here.
I'll see if I can get a test case thrown together for std::bitset. I'll take a look at boost::tuple as well (but that should be big time trivial, so... :) )
Erh... trivial, but tedious. Seeing as I have to redo the serialize funtion for all possible lengths of a tuple (0 to 10 contained elements). Unless I missed something obvious? (again) Anyway, is serialization for tuples supposed to be a Boost.Serialization add-on or a Boost.Tuples add-on? As Jeff Garland mentioned, generally std::* should be in Serialization, and anything else in the respective library. However, Boost.Serialization already provides support for e.g. shared_ptr<> and Boost.Optional. So...? -- /Brian Riis

"Brian Riis" wrote:
As Jeff Garland mentioned, generally std::* should be in Serialization, and anything else in the respective library. However, Boost.Serialization already provides support for e.g. shared_ptr<> and Boost.Optional. So...?
Optional was written because it was needed at the time and happened to be added into serialization/ It could be moved out to optional/. /Pavel
participants (3)
-
Brian Riis
-
Pavel Vozenilek
-
Robert Ramey