On Wed, 29 Aug 2018 at 01:39, Robert Ramey via Boost
... One who is thinking about what he's doing is not going to copy a whole array of data if he's using C++03.
No, of course not, but there also things like std::vector, with a C++11 compiler (and STL), relocating will be far more efficient for objects that might benefit from move semantics. In my mind perfect fowarding is part and parcel of "move semantics", this avoids many copies, many times, these are unavoidable pre C++11. LOL - inlining IS the essential difference with a header only library.
It would eliminate one move in the serialization libary. And that would double the speed.
I think the compiler is smart enough to inline when required and or can greatly benefit from lto/pgo/lctg (whatever these things are called in different compilers. Double the speed seems like a laudable objective [hint hint]. This is why a C++11 serialization library (cereal) is
twice as fast as boost serialization and other libraries.
For 2 reasons I would say, it's not very complex and it uses C++11. The header only though allows for easily adding custom extensions for ones' own types.
But the years long slog to address corner cases, workarounds for
compiler bugs and standard library bugs, etc. And there would be design changes which would also create a bunch of ripple effects. So it would really end up as a whole re-write.
Yes, it's a major job, hence all the resentment.
It's not just resentment - there's just no benefit to it.
The rest of the world is just fussin' around with C++11 and forward for the fun of it then, got it, back to C++98. I've got a copy of "C++ Templates, The Complete Guide, 2nd Edition - David Vandevoorde, Nicolai M. Josuttis, Douglas Gregor", I would like to swap it for your 1st edition, as I don't need mine any longer :-) degski -- *“If something cannot go on forever, it will stop" - Herbert Stein* *“No, it isn’t truth. Truth isn’t truth" - Rudolph W. L. Giuliani*