TWEFMT
パケット定義
[spTwePacket] ←(生成)- newTwePacket()
◆
|(shared_ptr)
|
[TwePacket] [DataPal]
↑ ↑
[TwePacketPal] -(生成)-> [PalAmb], [PalMot], ...struct _pkt_hist {
spTwePacket _pkt[16]; // パケットの履歴
int _i;
_pkt_hist() : _i(-1), _pkt{} {}
void add_entry(spTwePacket p) { _pkt[++_i & 0xF] = p; }
spTwePacket get_entry(int i) { return _pkt[(i + _i) & 0xF]; }
} pkt_hist;
void loop() {
spTwePacket pkt, pkt_last;
// 新たなパケットオブジェクト
pkt = newTwePacket(p, len);
pkt_hist.add_entry(pkt); // 履歴に保存する
// ひとつ前のパケットオブジェクト
pkt_last = pkt_hist.get_entry(-1);
}最終更新