35 #ifndef AIMS_IO_BYTESWAP_H 36 #define AIMS_IO_BYTESWAP_H 46 ASSERT(
sizeof( T ) == 4 ||
sizeof( T ) == 2 ||
sizeof( T ) == 8 );
47 if(
sizeof( T ) == 4 )
49 else if(
sizeof( T ) == 2 )
57 unsigned char *tmp = (
unsigned char *) &x;
62 *( (
unsigned char *) &t.t2) = *(tmp+1);
63 *( ( (
unsigned char *) &t.t2) + 1 ) = *tmp;
69 unsigned char *tmp = (
unsigned char *) &x;
74 *( (
unsigned char *) &t.t2) = *(tmp+3);
75 *( ( (
unsigned char *) &t.t2) + 1 ) = *(tmp+2);
76 *( ( (
unsigned char *) &t.t2) + 2 ) = *(tmp+1);
77 *( ( (
unsigned char *) &t.t2) + 3 ) = *tmp;
83 unsigned char *tmp = (
unsigned char *) &x;
88 *( (
unsigned char *) &t.t2) = *(tmp+7);
89 *( ( (
unsigned char *) &t.t2) + 1 ) = *(tmp+6);
90 *( ( (
unsigned char *) &t.t2) + 2 ) = *(tmp+5);
91 *( ( (
unsigned char *) &t.t2) + 3 ) = *(tmp+4);
92 *( ( (
unsigned char *) &t.t2) + 4 ) = *(tmp+3);
93 *( ( (
unsigned char *) &t.t2) + 5 ) = *(tmp+2);
94 *( ( (
unsigned char *) &t.t2) + 6 ) = *(tmp+1);
95 *( ( (
unsigned char *) &t.t2) + 7 ) = *tmp;
The class for EcatSino data write operation.
AIMSDATA_API T byteswap32(const T &x)
AIMSDATA_API T byteswap64(const T &x)
AIMSDATA_API T byteswap(const T &x)
AIMSDATA_API T byteswap16(const T &x)