59a60,61
> enum ByteOrder {BigEndianByteOrder, LittleEndianByteOrder};
>
133a136
> const ByteOrder HostByteOrder = BigEndianByteOrder;
138a142
> const ByteOrder HostByteOrder = LittleEndianByteOrder;
149,160c153,165
< template <typename T>
< static inline T gtole(T value) {return betole(value);}
< template <typename T>
< static inline T letog(T value) {return letobe(value);}
< template <typename T>
< static inline T gtobe(T value) {return value;}
< template <typename T>
< static inline T betog(T value) {return value;}
< template <typename T>
< static inline T htog(T value) {return htobe(value);}
< template <typename T>
< static inline T gtoh(T value) {return betoh(value);}
---
> const bool ByteOrderDiffers = (HostByteOrder != BigEndianByteOrder);
> template <typename T>
> static inline T gtole(T value) {return betole(value);}
> template <typename T>
> static inline T letog(T value) {return letobe(value);}
> template <typename T>
> static inline T gtobe(T value) {return value;}
> template <typename T>
> static inline T betog(T value) {return value;}
> template <typename T>
> static inline T htog(T value) {return htobe(value);}
> template <typename T>
> static inline T gtoh(T value) {return betoh(value);}
165,176c170,182
< template <typename T>
< static inline T gtole(T value) {return value;}
< template <typename T>
< static inline T letog(T value) {return value;}
< template <typename T>
< static inline T gtobe(T value) {return letobe(value);}
< template <typename T>
< static inline T betog(T value) {return betole(value);}
< template <typename T>
< static inline T htog(T value) {return htole(value);}
< template <typename T>
< static inline T gtoh(T value) {return letoh(value);}
---
> const bool ByteOrderDiffers = (HostByteOrder != LittleEndianByteOrder);
> template <typename T>
> static inline T gtole(T value) {return value;}
> template <typename T>
> static inline T letog(T value) {return value;}
> template <typename T>
> static inline T gtobe(T value) {return letobe(value);}
> template <typename T>
> static inline T betog(T value) {return betole(value);}
> template <typename T>
> static inline T htog(T value) {return htole(value);}
> template <typename T>
> static inline T gtoh(T value) {return letoh(value);}