Socket/Protocols/Raw: EUI64 documentation
[senf.git] / Packets / PacketParser.ct
index 5dd16a7..f025d54 100644 (file)
@@ -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 <g0dil@berlios.de>
 //
 // This program is free software; you can redistribute it and/or modify
@@ -28,6 +30,7 @@
 #define prefix_
 ///////////////////////////////ct.p////////////////////////////////////////
 
+#ifndef DOXYGEN
 template <class Parser>
 prefix_ typename boost::enable_if< 
         boost::is_base_of<senf::PacketParserBase, Parser>,
@@ -35,7 +38,7 @@ prefix_ typename boost::enable_if<
 {
     PacketParserBase::size_type target_sz (bytes(target));
     PacketParserBase::size_type source_sz (bytes(source));
-    SafePacketParser<Parser> safe_target (target);
+    SafePacketParserWrapper<Parser> 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 <class Parser>
+prefix_ Parser senf::operator<<(Parser target, Parser source)
+{}
+#endif
+
+// Why is this function reported as not inlineable ?
+
+template <class Parser>
+prefix_ senf::PacketParserBase::size_type senf::detail::packetParserSize(Parser p, ...)
+{
+    return p.bytes();
+}
 
 ///////////////////////////////ct.e////////////////////////////////////////
 #undef prefix_