#include <iostream>
#include <cstring>
#include <list>
using namespace std;
#define BUFFERSIZE 1024
class receivebuffer_0{
public:
unsigned char payload[BUFFERSIZE];
int NALU;
receivebuffer_0() : NALU(0) {} // Constructor
};
int main() {
list<receivebuffer_0> WiFi;
receivebuffer_0 data;
size_t payloadLength = 100;
unsigned char payloadIndex[payloadLength];
payloadIndex[0] = 254;
payloadIndex[1] = 30;
data.NALU = 1;
cout<< (int)payloadIndex[0]<<endl; // output 254 OK
memcpy(data.payload , payloadIndex, 2);
WiFi.push_back(data);
payloadIndex[0] = 40;
payloadIndex[1] = 45;
data.NALU = 12333;
memcpy(data.payload , payloadIndex, 2);
WiFi.push_back(data);
cout<<(int)WiFi.front().payload[0]<<endl;
cout<<WiFi.front().NALU<<endl; // output 1
WiFi.pop_front();
cout<<(int)WiFi.front().payload[0]<<endl; // output 40
cout<<WiFi.front().NALU<<endl; // output 12333
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y3N0cmluZz4KI2luY2x1ZGUgPGxpc3Q+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKI2RlZmluZSBCVUZGRVJTSVpFICAgICAgMTAyNAoKY2xhc3MgcmVjZWl2ZWJ1ZmZlcl8wewogICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIgcGF5bG9hZFtCVUZGRVJTSVpFXTsKICAgICAgICAgICAgICAgIGludCBOQUxVOwogICAgICAgICAgICAgICAgcmVjZWl2ZWJ1ZmZlcl8wKCkgOiBOQUxVKDApIHt9ICAgICAgICAgICAgICAvLyBDb25zdHJ1Y3Rvcgp9OwoKaW50IG1haW4oKSB7CgogICAgICAgIGxpc3Q8cmVjZWl2ZWJ1ZmZlcl8wPiBXaUZpOwoKICAgICAgICByZWNlaXZlYnVmZmVyXzAgZGF0YTsKICAgICAgICBzaXplX3QgcGF5bG9hZExlbmd0aCA9IDEwMDsKICAgICAgICB1bnNpZ25lZCBjaGFyIHBheWxvYWRJbmRleFtwYXlsb2FkTGVuZ3RoXTsKICAgICAgICBwYXlsb2FkSW5kZXhbMF0gPSAyNTQ7CiAgICAgICAgcGF5bG9hZEluZGV4WzFdID0gMzA7CiAgICAgICAgZGF0YS5OQUxVID0gMTsKCiAgICAgICAgY291dDw8IChpbnQpcGF5bG9hZEluZGV4WzBdPDxlbmRsOyAvLyBvdXRwdXQgMjU0IE9LCgogICAgICAgIG1lbWNweShkYXRhLnBheWxvYWQgLCBwYXlsb2FkSW5kZXgsIDIpOwoKICAgICAgICBXaUZpLnB1c2hfYmFjayhkYXRhKTsKCiAgICAgICAgcGF5bG9hZEluZGV4WzBdID0gNDA7CiAgICAgICAgcGF5bG9hZEluZGV4WzFdID0gNDU7CiAgICAgICAgZGF0YS5OQUxVID0gMTIzMzM7CgogICAgICAgIG1lbWNweShkYXRhLnBheWxvYWQgLCBwYXlsb2FkSW5kZXgsIDIpOwoKICAgICAgICBXaUZpLnB1c2hfYmFjayhkYXRhKTsKCiAgICAgICAgY291dDw8KGludClXaUZpLmZyb250KCkucGF5bG9hZFswXTw8ZW5kbDsKCiAgICAgICAgY291dDw8V2lGaS5mcm9udCgpLk5BTFU8PGVuZGw7IC8vIG91dHB1dCAxCgogICAgICAgIFdpRmkucG9wX2Zyb250KCk7CgogICAgICAgIGNvdXQ8PChpbnQpV2lGaS5mcm9udCgpLnBheWxvYWRbMF08PGVuZGw7IC8vIG91dHB1dCA0MAogICAgICAgIGNvdXQ8PFdpRmkuZnJvbnQoKS5OQUxVPDxlbmRsOyAvLyBvdXRwdXQgMTIzMzMKCiAgICAgICAgcmV0dXJuIDA7Cn0KCg==