Re: [boost] [boost::endian] Request for comments/interest

"Cliff Green" wrote:
In most general marshalling / serialization designs where portable binary
values are required, the transform step (from "wire" to "object / memory"
model) requires a copy anyway. The low-level endian facilities should not
require an extra copy, but trying to minimize all copying and constraining
the endian library design might be misguided.
In the sort of code I write, an endian swapper that had copies that weren't necessarily required, especially in the "do nothing" case where network and machine have the same endianness would not be fit for purpose. " " wrote:
This is not completly true, as your implementation will at least visit the instance.
I disagree. If you look in more detail at the code that Tom has submitted, the "do nothing" case does exactly that - nothing. Specifically line 147-154 has the template specialisations that get invoked when a no-op is required, and they have no code in them. Only in the case where an endian swap is required does the implementation walk through the whole data structure. Dave
participants (1)
-
Dave Handley