X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Packets%2FPacket.hh;h=33f631760e5b85fcd0ae13683b591fb8c48567af;hb=69255c0f1669fc80b0e4a2bf524715f336b127ad;hp=9855adbf34ea27881962734b31e22c88b7cb5e79;hpb=ee64a24a7ed1dfcdb7a12f14d7df3b043e564a30;p=senf.git diff --git a/Packets/Packet.hh b/Packets/Packet.hh index 9855adb..33f6317 100644 --- a/Packets/Packet.hh +++ b/Packets/Packet.hh @@ -186,34 +186,64 @@ namespace senf { Packet next() const; ///< Get next packet in chain - /**< \returns in - valid() packet, if no next packet + /**< \throws InvalidPacketChainException if no next packet + exists */ + Packet next(NoThrow_t) const; + ///< Get next packet in chain + /**< \returns in - valid() packet if no next packet exists */ template OtherPacket next() const; ///< Get next packet in chain and cast to \a OtherPacket /**< \throws std::bad_cast if the next() packet is not of type \a OtherPacket - \returns in - valid() packet, if no next packet + \throws InvalidPacketChainException if no next packet + exists */ + template OtherPacket next(NoThrow_t) const; + ///< Get next packet in chain and cast to \a OtherPacket + /**< \throws std::bad_cast if the next() packet is not of + type \a OtherPacket + \returns in - valid() packet if no next packet exists */ template OtherPacket find() const; ///< Search chain forward for packet of type \a OtherPacket /**< The search will start with the current packet. - \returns in - valid() packet, if no packet of type \a + \throws InvalidPacketChainException if no packet of + type \a OtherPacket can be found. */ + template OtherPacket find(NoThrow_t) const; + ///< Search chain forward for packet of type \a OtherPacket + /**< The search will start with the current packet. + \returns in - valid() packet if no packet of type \a OtherPacket can be found. */ Packet prev() const; ///< Get previous packet in chain - /**< \returns in - valid() packet, if no previous packet + /**< \throws InvalidPacketChainException if no previous + packet exists */ + Packet prev(NoThrow_t) const; + ///< Get previous packet in chain + /**< \returns in - valid() packet if no previous packet exists */ template OtherPacket prev() const; ///< Get previous packet in chain and cast to \a OtherPacket /**< \throws std::bad_cast, if the previous packet is not of type \a OtherPacket - \returns in - valid() packet, if no previous packet + \throws InvalidPacketChainException if no previous + packet exists */ + template OtherPacket prev(NoThrow_t) const; + ///< Get previous packet in chain and cast to \a OtherPacket + /**< \throws std::bad_cast, if the previous packet is not of + type \a OtherPacket + \returns in - valid() packet if no previous packet exists */ template OtherPacket rfind() const; ///< Search chain backwards for packet of type \a OtherPacket /**< The search will start with the current packet. - \returns in - valid() packet, if no packet of type \a + \throws InvalidPacketChainException if no packet of + type \a OtherPacket can be found. */ + template OtherPacket rfind(NoThrow_t) const; + ///< Search chain backwards for packet of type \a OtherPacket + /**< The search will start with the current packet. + \returns in - valid() packet if no packet of type \a OtherPacket can be found. */