X-Git-Url: http://g0dil.de/git?p=senf.git;a=blobdiff_plain;f=senf%2FPackets%2FPacket.hh;fp=senf%2FPackets%2FPacket.hh;h=ab614194231351ec1b590a4239602faf99968b80;hp=af001a5f34dbcdc92b3e94832c495e7dfa0d29f2;hb=ecbf10f737b7f1305670600ac0f1134625f14f05;hpb=d5b4cca5714c2b44bbc476636a0774b4fcbd9151 diff --git a/senf/Packets/Packet.hh b/senf/Packets/Packet.hh index af001a5..ab61419 100644 --- a/senf/Packets/Packet.hh +++ b/senf/Packets/Packet.hh @@ -518,8 +518,8 @@ namespace senf { PacketInterpreterBase::ptr const & ptr() const; - Packet parseNextAs(factory_t factory, PacketInterpreterBase::optional_range const & range) const; - Packet getNext(PacketInterpreterBase::optional_range const & range) const; + PacketInterpreterBase::ptr parseNextAs(factory_t factory, PacketInterpreterBase::optional_range const & range) const; + PacketInterpreterBase::ptr getNext(PacketInterpreterBase::optional_range const & range) const; Packet getLast() const; private: @@ -754,7 +754,7 @@ namespace senf { Parser p_; }; - ParserProxy operator->() const; ///< Access packet fields + ParserProxy operator->() const; ///< Access packet fields /**< This operator allows to access the parsed fields of the packet using the notation packet->field(). The fields of the packet are specified by the PacketType's @@ -777,6 +777,8 @@ namespace senf { using Packet::next; Packet next(NoThrow_t) const; + template + OtherPacket next(NoThrow_t) const; #endif private: @@ -788,6 +790,7 @@ namespace senf { friend class Packet; friend class PacketInterpreter; + template friend class ConcretePacket; }; /** \brief Generic parser copying