24 template<
typename T>
static QByteArray
readByteArray(
const QByteArray& pInput,
int& pOffset)
26 Q_ASSERT(
sizeof(
T) < INT_MAX);
28 const auto typeLength =
static_cast<int>(
sizeof(
T));
29 if (pInput.size() < pOffset + typeLength)
34 const T length = qFromLittleEndian<T>(pInput.data() + pOffset);
35 pOffset += typeLength;
36 const QByteArray result = pInput.mid(pOffset, length);
42 template<
typename T>
static void writeByteArray(
const QByteArray& pValue, QByteArray& pOutput)
44 Q_ASSERT(
sizeof(
T) < INT_MAX);
46 const int maxSize = std::numeric_limits<T>::max();
47 const int size = std::min(maxSize,
static_cast<int>(pValue.size()));
49 const auto it = pOutput.size();
50 pOutput.resize(it +
static_cast<int>(
sizeof(
T)));
51 qToLittleEndian(
static_cast<T>(size), pOutput.data() + it);
52 pOutput += pValue.mid(0, size);
Definition LengthValue.h:18
static QByteArray readByteArray(const QByteArray &pInput, int &pOffset)
Definition LengthValue.h:24
static void writeByteArray(const QByteArray &pValue, QByteArray &pOutput)
Definition LengthValue.h:42
#define T(v)
Definition http_parser.cpp:237
Defines the AccessRight and AccessRole enum.
Definition CommandApdu.h:17