X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;ds=sidebyside;f=source%2Fnet%2Fprotocol.h;h=35d3cb2cbfe177de4214816d70643f9ff97e32bd;hb=1565dec0f4a86e4bda7095dd7415234f7c7a84e9;hp=ae1c3c010c0671a8c88968b359220f9142449a92;hpb=e900bb4a8fe086fac55ffe51c75915be0003c5e4;p=libs%2Fnet.git diff --git a/source/net/protocol.h b/source/net/protocol.h index ae1c3c0..35d3cb2 100644 --- a/source/net/protocol.h +++ b/source/net/protocol.h @@ -171,9 +171,12 @@ private: public: PacketDefBuilder(const Protocol &, PacketTypeDef
&, const S &);
-
+
template > operator()(T P::*);
+ PacketDefBuilder > fields(T P::*);
+
+ template > add(unsigned);
+ template (id).fields(field, rest...); }
+
template > add();
+ template ().fields(field, rest...); }
+
const PacketDefBase &get_packet_by_class_id(unsigned) const;
const PacketDefBase &get_packet_by_id(unsigned) const;
@@ -455,7 +464,7 @@ Protocol::PacketDefBuilder ::PacketDefBuilder(const Protocol &p, PacketType
template > Protocol::PacketDefBuilder ::operator()(T P::*ptr)
+Protocol::PacketDefBuilder > Protocol::PacketDefBuilder ::fields(T P::*ptr)
{
typename S::template Next