16 #ifndef C4PuncherPacket_H
17 #define C4PuncherPacket_H
42 typedef std::unique_ptr<C4NetpuncherPacket>
uptr;
61 template<C4NetpuncherPacketType TYPE>
65 StdBuf PackInto()
const override;
76 class C4NetpuncherPacket##n : public C4NetpuncherPacketID<PID_Puncher_##n> { \
77 public: explicit C4NetpuncherPacket##n(const C4NetIOPacket& p) : C4NetpuncherPacketID<PID_Puncher_##n>(p) {}; \
78 public: explicit C4NetpuncherPacket##n(CID id) : C4NetpuncherPacketID<PID_Puncher_##n>(id) {}; \
86 StdBuf PackInto()
const override;
C4NetpuncherPacketCReq(const C4NetIOPacket &rpack)
const C4NetIO::addr_t & GetAddr()
C4NetpuncherPacketType GetType() const final
C4NetpuncherPacketCReq(const C4NetIO::addr_t &addr)
C4NetIOPacket PackTo(const C4NetIO::addr_t &) const
virtual StdBuf PackInto() const =0
std::unique_ptr< C4NetpuncherPacket > uptr
C4NetpuncherID::value CID
virtual C4NetpuncherPacketType GetType() const =0
static std::unique_ptr< C4NetpuncherPacket > Construct(const C4NetIOPacket &rpack)
virtual ~C4NetpuncherPacket()=default
C4NetpuncherPacketType GetType() const final
C4NetpuncherPacketID(const C4NetIOPacket &rpack)
~C4NetpuncherPacketID() override=default
C4NetpuncherPacketID(CID id)
C4NetpuncherPacketIDReq(const C4NetIOPacket &rpack)
C4NetpuncherPacketIDReq()=default
C4NetpuncherPacketType GetType() const final
bool operator==(const C4NetpuncherID &other) const
void CompileFunc(StdCompiler *pComp)