CError CBufferWriter::write<iviLink::CUid>(iviLink::CUid const& val) { UInt8 const* uid = NULL; UInt32 uidSize = val.getByteArray(uid); CError err = write(uidSize); if (!err.isNoError()) return err; if (uidSize > mFullSize - mUsedSize) return CError(1, moduleName, CError::ERROR, "insufficient buffer size (from CUid write)"); memcpy(mpBuffer + mUsedSize, uid, uidSize); mUsedSize += uidSize; return CError::NoError(moduleName); }