minor fixes for clang++
[senf.git] / senf / Packets / Packet.hh
index 4e6147f..ab61419 100644 (file)
@@ -518,10 +518,11 @@ namespace senf {
 
         PacketInterpreterBase::ptr const & ptr() const;
 
-    private:
-        Packet getNext() const;
+        PacketInterpreterBase::ptr parseNextAs(factory_t factory, PacketInterpreterBase::optional_range const & range) const;
+        PacketInterpreterBase::ptr getNext(PacketInterpreterBase::optional_range const & range) const;
         Packet getLast() const;
 
+    private:
         PacketInterpreterBase::ptr packet_;
 
         template <class PacketType>
@@ -753,7 +754,7 @@ namespace senf {
             Parser p_;
         };
 
-        ParserProxy operator->() const;    ///< Access packet fields
+        ParserProxy operator->() const; ///< Access packet fields
                                         /**< This operator allows to access the parsed fields of the
                                              packet using the notation <tt>packet->field()</tt>. The
                                              fields of the packet are specified by the PacketType's
@@ -772,7 +773,13 @@ namespace senf {
                                              itself, only it's members.
                                              \see \ref packetparser for the %parser interface */
 
-    protected:
+#ifndef DOXYGEN
+        using Packet::next;
+
+        Packet next(NoThrow_t) const;
+        template <class OtherPacket>
+        OtherPacket next(NoThrow_t) const;
+#endif
 
     private:
         typedef PacketInterpreter<PacketType> interpreter;
@@ -783,6 +790,7 @@ namespace senf {
 
         friend class Packet;
         friend class PacketInterpreter<PacketType>;
+        template<class PType> friend class ConcretePacket;
     };
 
     /** \brief Generic parser copying