PPI: Checkin of first compiling (yet not working) version
[senf.git] / Packets / PacketData.hh
index 9ebe32e..2f8a521 100644 (file)
@@ -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);