Utils/Logger: Implement TimeSource facility
[senf.git] / Packets / PacketData.hh
index 9ebe32e..c316778 100644 (file)
@@ -28,7 +28,7 @@
 #include <boost/utility.hpp>
 #include <boost/type_traits.hpp>
 #include <boost/iterator/iterator_facade.hpp>
-#include "Utils/SafeBool.hh"
+#include "../Utils/SafeBool.hh"
 #include "PacketTypes.hh"
 
 //#include "PacketData.mpp"
@@ -95,10 +95,16 @@ namespace senf {
         ///\name Sequence interface to raw data
         ///@{
 
-        iterator begin() const;
-        iterator end() const;
-        size_type size() const;
-        bool empty() const;
+        iterator begin() const; /**< Returns an <em>random access iterator</em> referring
+                                     to the first byte of the packet data. */
+        iterator end() const; /**< Returns an <em>random access iterator</em> referring to the 
+                                   element past the end of the packet data. */
+        size_type size() const; ///< Returns the number of bytes in the packet data.
+        bool empty() const; ///< Test whether the packet data is empty.
+                                        /**< Returns whether the packet data is empty, i.e. 
+                                             whether its size is 0. This function does not modify
+                                             the content of the packet data in any way. To clear
+                                             the content use clear() */        
         byte operator[](size_type n) const;
         byte & operator[](size_type n);
 
@@ -109,13 +115,19 @@ namespace senf {
         // only academic since what should an empty packet be good for ?
         void insert(iterator pos, byte v);
         void insert(iterator pos, size_type n, byte v);
+#       ifndef DOXYGEN
         template <class InputIterator>
         void insert(iterator pos, InputIterator f, InputIterator l,
                     typename boost::disable_if< boost::is_convertible<InputIterator,size_type> >::type * = 0);
+#       else
+        template <class InputIterator>
+        void insert(iterator pos, InputIterator f, InputIterator l);
+#       endif
 
         void erase(iterator pos);
         void erase(iterator first, iterator last);
-        void clear();
+        void clear(); /**< All bytes of the packet data dropped, 
+                           leaving the container with a size of 0. */
         
         void resize(size_type n, byte v=0);
 
@@ -213,7 +225,7 @@ namespace senf {
 
 ///////////////////////////////hh.e////////////////////////////////////////
 #endif
-#if !defined(SENF_PACKETS_DECL_ONLY) && !defined(HH_PacketData_i_)
+#if !defined(HH_Packets__decls_) && !defined(HH_PacketData_i_)
 #define HH_PacketData_i_
 #include "PacketData.cci"
 //#include "PacketData.ct"