moved Sniffer into new Examples directory
[senf.git] / Socket / PacketSocketHandle.ih
index 9ae920e..82851ca 100644 (file)
@@ -1,6 +1,6 @@
 // $Id$
 //
-// Copyright (C) 2006 
+// Copyright (C) 2006
 // Fraunhofer Institut fuer offene Kommunikationssysteme (FOKUS)
 // Kompetenzzentrum fuer Satelitenkommunikation (SatCom)
 //     Stefan Bund <stefan.bund@fokus.fraunhofer.de>
 // Free Software Foundation, Inc.,
 // 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 
+/** \file
+    \brief PacketProtocol and PacketSocketHandle internal header
+ */
+
 #ifndef IH_PacketSocketHandle_
 #define IH_PacketSocketHandle_ 1
 
@@ -31,18 +35,34 @@ namespace senf {
 
 namespace detail {
 
+    /** \brief Abstract address copier
+        \internal
+
+        This class provides the abstract interface to copy a
+        link-local address to a destination address.
+     */
     struct LLAddressCopier
     {
         virtual ~LLAddressCopier() {}
         virtual unsigned operator()(unsigned char * target) const = 0;
     };
 
+    /** \brief Implementation of LLAddressCopier to copy arbitrary Range
+        \internal
+
+        This implementation of the LLAddressCopier interface will copy
+        an arbitrary range to the target address. This class is used,
+        to convert the compile-time polymorphism of templates
+        (provided by the \c ForwardRange template argument) into
+        runtime polymorphism (provided by the abstract LLAddressCopier
+        interface).
+     */
     template <class ForwardRange>
     struct Range_LLAddressCopier
         : public LLAddressCopier
     {
         Range_LLAddressCopier(ForwardRange const & range);
-        
+
         unsigned operator()(unsigned char * target) const;
 
         ForwardRange const & range_;
@@ -56,5 +76,8 @@ namespace detail {
 \f
 // Local Variables:
 // mode: c++
+// fill-column: 100
 // c-file-style: "senf"
+// indent-tabs-mode: nil
+// ispell-local-dictionary: "american"
 // End: