#ifndef ENDIANHELPERS_H #define ENDIANHELPERS_H #include namespace { template inline T read(const QByteArray &data, int &offset) { T unswapped; memcpy(&unswapped, &data.constData()[offset], sizeof(T)); // Unaligned access warning! offset += sizeof(T); return qFromBigEndian(unswapped); } template inline void append(QByteArray &data, const T &value) { T swapped = qToBigEndian(value); data.append(reinterpret_cast(&swapped), sizeof(T)); } } #endif // ENDIANHELPERS_H