X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=senf%2FPackets%2FPacket.cti;h=a42856540a8c0a5c78f02b63d4d9e3988af333e0;hb=51b24c3227717ce5ad8111a99c2d7eea5fa0bd8d;hp=bb2765beaca63b7467c847bec080078e90ac1c57;hpb=0e6076544fbcaba94b6339f0074cb2adcd56d515;p=senf.git diff --git a/senf/Packets/Packet.cti b/senf/Packets/Packet.cti index bb2765b..a428565 100644 --- a/senf/Packets/Packet.cti +++ b/senf/Packets/Packet.cti @@ -327,6 +327,16 @@ senf::ConcretePacket::operator->() return ParserProxy(parser()); } +template +prefix_ senf::Packet senf::ConcretePacket::next(NoThrow_t) + const +{ + PacketInterpreterBase::ptr p (Packet::ptr()->next()); + if (p) return Packet(p); + PacketInterpreterBase::optional_range r (type::nextPacketRange(*this)); + return (r && ! r->empty()) ? getNext(r) : Packet(); +} + // private members template