X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Packets%2FPacketParser.ct;h=f025d54ef2b419c7c73b560285fad53ef10cab6a;hb=92f8630b75f3ef50e73c48cde58645dcd1534e27;hp=5dd16a7472f68c1d223632eaab277422367228c6;hpb=47368f306a577d1e46df69a7f729bd3893cbe5e7;p=senf.git diff --git a/Packets/PacketParser.ct b/Packets/PacketParser.ct index 5dd16a7..f025d54 100644 --- a/Packets/PacketParser.ct +++ b/Packets/PacketParser.ct @@ -1,6 +1,8 @@ -// Copyright (C) 2007 -// Fraunhofer Institut fuer offene Kommunikationssysteme (FOKUS) -// Kompetenzzentrum fuer Satelitenkommunikation (SatCom) +// $Id$ +// +// Copyright (C) 2007 +// Fraunhofer Institute for Open Communication Systems (FOKUS) +// Competence Center NETwork research (NET), St. Augustin, GERMANY // Stefan Bund // // This program is free software; you can redistribute it and/or modify @@ -28,6 +30,7 @@ #define prefix_ ///////////////////////////////ct.p//////////////////////////////////////// +#ifndef DOXYGEN template prefix_ typename boost::enable_if< boost::is_base_of, @@ -35,7 +38,7 @@ prefix_ typename boost::enable_if< { PacketParserBase::size_type target_sz (bytes(target)); PacketParserBase::size_type source_sz (bytes(source)); - SafePacketParser safe_target (target); + SafePacketParserWrapper safe_target (target); if (target_sz > source_sz) target.data().erase(boost::next(target.i(),source_sz),boost::next(target.i(),target_sz)); else if (target_sz < source_sz) @@ -45,6 +48,19 @@ prefix_ typename boost::enable_if< PacketParserBase::data_iterator(new_target.i()) ); return new_target; } +#else +template +prefix_ Parser senf::operator<<(Parser target, Parser source) +{} +#endif + +// Why is this function reported as not inlineable ? + +template +prefix_ senf::PacketParserBase::size_type senf::detail::packetParserSize(Parser p, ...) +{ + return p.bytes(); +} ///////////////////////////////ct.e//////////////////////////////////////// #undef prefix_