// Custom includes
#define prefix_
-///////////////////////////////ct.p////////////////////////////////////////
+//-/////////////////////////////////////////////////////////////////////////////////////////////////
-///////////////////////////////////////////////////////////////////////////
+//-/////////////////////////////////////////////////////////////////////////////////////////////////
// senf::PacketTypeMixin<Self,void>
template <class Self>
prefix_ senf::PacketInterpreterBase::optional_range
-senf::PacketTypeMixin<Self,void>::nextPacketRange(Packet const & p)
+senf::PacketTypeMixin<Self,void>::nextPacketRange(ConcretePacket<Self> const & p)
{
typename Self::size_type sz (Self::initHeadSize());
- ///\idea This if condition could be replaced with a compile time switch by checking, wether
+ ///\idea This if condition could be replaced with a compile time switch by checking, whether
/// (the function address) Self::initHeadSize is different from PacketTypeBase::initHeadSize
if (sz == PacketTypeBase::size_type(-1)) {
- typename Self::size_type headsz (bytes(p.as< ConcretePacket<Self> >().parser()));
- return p.data().size() < headsz ?
- PacketTypeBase::no_range() :
+ typename Self::size_type headsz (bytes(p.parser()));
+ return p.data().size() < headsz ?
+ PacketTypeBase::no_range() :
PacketInterpreterBase::optional_range(
PacketTypeBase::range(boost::next(p.data().begin(), headsz),
p.data().end()));
//
// So, the helper only works with fixed-size parsers if the packet has a trailer.
return p.data().size() < Self::initSize() ?
- PacketTypeBase::no_range() :
+ PacketTypeBase::no_range() :
PacketInterpreterBase::optional_range(
PacketTypeBase::range(boost::next(p.data().begin(),sz),
boost::prior(p.data().end(),Self::initSize()-sz)));
}
-///////////////////////////////ct.e////////////////////////////////////////
+//-/////////////////////////////////////////////////////////////////////////////////////////////////
#undef prefix_
\f