X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=senf%2FPackets%2FPacket.cti;h=8184317b55dbceefd839631076fd5b3276ba154b;hb=7ee689fe38d66aa3a0004d55e8708750d35adc0b;hp=02414194a32d3104ac056aa0f8a705fd0ef9653b;hpb=d00efd99445ae9cef71068f11788fbd2f4412997;p=senf.git diff --git a/senf/Packets/Packet.cti b/senf/Packets/Packet.cti index 0241419..8184317 100644 --- a/senf/Packets/Packet.cti +++ b/senf/Packets/Packet.cti @@ -29,9 +29,9 @@ #include #define prefix_ inline -///////////////////////////////cti.p/////////////////////////////////////// +//-///////////////////////////////////////////////////////////////////////////////////////////////// -/////////////////////////////////////////////////////////////////////////// +//-///////////////////////////////////////////////////////////////////////////////////////////////// // senf::Packet // conversion constructors @@ -62,7 +62,10 @@ prefix_ OtherPacket senf::Packet::as() const { if (!is()) - throw WrapException(std::bad_cast()); + throw WrapException(std::bad_cast()) + << ": called packet::as() with wrong PacketType: " + << (valid() ? typeId().prettyName() : "invalid packet") + << " != " << prettyName(typeid(OtherPacket)); return OtherPacket(ptr()->as()); } @@ -158,7 +161,7 @@ prefix_ Annotation const & senf::Packet::annotation() return ptr()->annotation(); } -/////////////////////////////////////////////////////////////////////////// +//-///////////////////////////////////////////////////////////////////////////////////////////////// // senf::ConcretePacket // structors and default members @@ -327,14 +330,13 @@ prefix_ senf::ConcretePacket::ConcretePacket(typename interpreter::p {} template -prefix_ typename senf::ConcretePacket::interpreter::ptr -senf::ConcretePacket::ptr() +prefix_ typename senf::ConcretePacket::interpreter * senf::ConcretePacket::ptr() const { - return boost::static_pointer_cast< PacketInterpreter >(Packet::ptr()); + return static_cast< PacketInterpreter *>( Packet::ptr().get()); } -///////////////////////////////cti.e/////////////////////////////////////// +//-///////////////////////////////////////////////////////////////////////////////////////////////// #undef prefix_