X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Packets%2FPacket.cti;h=5f67ccbc883df13f4868f37ddca962702a9eb74f;hb=2371b3e67e650b7e829c35e8b4441a8ce2931ac0;hp=18443fa7a73a891df00c479870fc000731ea282e;hpb=ee64a24a7ed1dfcdb7a12f14d7df3b043e564a30;p=senf.git diff --git a/Packets/Packet.cti b/Packets/Packet.cti index 18443fa..5f67ccb 100644 --- a/Packets/Packet.cti +++ b/Packets/Packet.cti @@ -73,6 +73,23 @@ prefix_ OtherPacket senf::Packet::next() } template +prefix_ OtherPacket senf::Packet::next(NoThrow_t) + const +{ + Packet p (next(nothrow)); + return p && p.is() ? p.as() : OtherPacket(); +} + +template +prefix_ OtherPacket senf::Packet::find() + const +{ + OtherPacket p (find(nothrow)); + if (!p) throw InvalidPacketChainException(); + return p; +} + +template prefix_ OtherPacket senf::Packet::prev() const { @@ -80,6 +97,23 @@ prefix_ OtherPacket senf::Packet::prev() } template +prefix_ OtherPacket senf::Packet::prev(NoThrow_t) + const +{ + Packet p (prev(nothrow)); + return p && p.is() ? p.as() : OtherPacket(); +} + +template +prefix_ OtherPacket senf::Packet::rfind() + const +{ + OtherPacket p (rfind(nothrow)); + if (!p) throw InvalidPacketChainException(); + return p; +} + +template prefix_ OtherPacket senf::Packet::last() const {