#ifndef	BASE_WIN32_ARCHIVE_H
#define	BASE_WIN32_ARCHIVE_H

#ifdef EXTERNAL_DISTRO
namespace NAMESPACE 
{

#endif
namespace Base 
{


#ifdef PACK_BIG_ENDIAN

    inline double byteSwap(double value)    { byteReverse64(&value); return value; }
    inline float byteSwap(float value)      { byteReverse32(&value); return value; }
    inline uint64 byteSwap(uint64 value)    { byteReverse64(&value); return value; }
    inline int64 byteSwap(int64 value)      { byteReverse64(&value); return value; }
    inline uint32 byteSwap(uint32 value)    { byteReverse32(&value); return value; }
    inline int32 byteSwap(int32 value)      { byteReverse32(&value); return value; }
    inline uint16 byteSwap(uint16 value)    { byteReverse16(&value); return value; }
    inline int16 byteSwap(int16 value)      { byteReverse16(&value); return value; }

#else

    inline double byteSwap(double value)    { return value; }
    inline float byteSwap(float value)      { return value; }
    inline uint64 byteSwap(uint64 value)    { return value; }
    inline int64 byteSwap(int64 value)      { return value; }
    inline uint32 byteSwap(uint32 value)    { return value; }
    inline int32 byteSwap(int32 value)      { return value; }
    inline uint16 byteSwap(uint16 value)    { return value; }
    inline int16 byteSwap(int16 value)      { return value; }

#endif

};
#ifdef EXTERNAL_DISTRO
};
#endif

#endif	
