In-Reply-To: <[EMAIL PROTECTED]>
On Sun, 17 Nov 2002 23:08:02 +0100 Matthias Troyer 
([EMAIL PROTECTED]) wrote:
> It will not go wrong, but the implementation has to check for 
> sizeof(short), etc., before deciding on how to serialize the short (we 
> might want to change byte order, ....) . On the other hand, if the type 
> is int16_t or int32_t I can just serialize that. I agree however that 
> one can work around that restriction. But, since int64_t is used 
> anyways, why not also use the other int*_t types?

Byte order is surely an additional issue. I'd expect arithmetic with 
int32_t to use the byte order of the local CPU, else it would be horribly 
slow. Using int32_t in the API won't automatically give a byte order 
conversion.

If you want an archive with a standardised byte order, can't that be done 
within the current base class API? It ought to just need suitable derived 
classes to be written. I don't think an architectural change is needed.

Any approach will surely involve some processing overhead, eg to do the 
byte-swaps. Arguably applications which don't need a byte-neutral format 
shouldn't pay for it. There ought to be the current dumb binary archive 
format in addition to whatever sophisticated ones we need.


> > If you do need variable-length you could use a /binary/ 
> > variable-length format.
> 
> I just need well-defined fixed length, and thus use int*_t instead if 
> int, long or short in all my codes.

I suggested the binary variable length format because it copes with byte 
order and int size issues naturally.

-- Dave Harris

_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

Reply via email to