removed some useless spaces; not very important, I know :)
[senf.git] / Packets / PacketImpl.hh
index 39ccd47..871b9ec 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
@@ -27,7 +29,7 @@
 // Custom includes
 #include <memory>
 #include <boost/utility.hpp>
-#include "Utils/pool_alloc_mixin.hh"
+#include "../Utils/pool_alloc_mixin.hh"
 #include "PacketTypes.hh"
 
 //#include "PacketImpl.mpp"
 
 namespace senf {
 namespace detail {
-    
-    class PacketImpl 
+
+    /** \brief Internal: Packet data storage
+
+        \internal
+
+        This is the class holding the packet data and the interpreter chain. All manipulations of
+        the packet data are performed via the interface exported here. This is very important, since
+        PacketImpl will update the interpreters (that is the vector indices stored therein) whenever
+        the data is changed.
+     */
+    class PacketImpl
         : boost::noncopyable,
           public pool_alloc_mixin<PacketImpl>
     {
@@ -59,7 +70,7 @@ namespace detail {
         ~PacketImpl();
 
         // rerference/memory management
+
         void add_ref(refcount_t n=1);
         void release(refcount_t n=1);
         refcount_t refcount() const;
@@ -92,9 +103,14 @@ namespace detail {
         void erase(PacketData * self, iterator first, iterator last);
         void clear(PacketData * self);
 
-        // The Guard will keep the PacketImpl instance alive during a members execution time
-        // It the refcount should drop to 0, PacketImpl will be deleted after the member
-        // has completed executing.
+        /** \brief Internal: Keep PacketImpl instance alive
+
+            \internal
+
+            The Guard will keep the PacketImpl instance alive during a members execution time
+            It the refcount should drop to 0, PacketImpl will be deleted after the member
+            has completed executing.
+         */
         struct Guard {
             Guard(PacketImpl * impl);
             ~Guard();
@@ -107,13 +123,15 @@ namespace detail {
         interpreter_list interpreters_;
 
         void eraseInterpreters(interpreter_list::iterator b, interpreter_list::iterator e);
-        void updateIterators(PacketData * self, iterator pos, difference_type n);
-
+        void updateIterators(PacketData * self, difference_type pos, difference_type n);
     };
 
 }}
 
 ///////////////////////////////hh.e////////////////////////////////////////
+#endif
+#if !defined(HH_Packets__decls_) && !defined(HH_PacketImpl_i_)
+#define HH_PacketImpl_i_
 #include "PacketImpl.cci"
 //#include "PacketImpl.ct"
 #include "PacketImpl.cti"
@@ -129,3 +147,4 @@ namespace detail {
 // compile-command: "scons -u test"
 // comment-column: 40
 // End:
+