X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Socket%2FPacketSocketHandle.ih;h=82851ca89d56855c691320afd105beb5b0ba7654;hb=9a988902090d28007578e93bffd809f6bd913155;hp=62ead40354880718f0cec476705d967ceb48e23d;hpb=d0006132bfcb3ab442cf66b600ed3fad36f1ac2c;p=senf.git diff --git a/Socket/PacketSocketHandle.ih b/Socket/PacketSocketHandle.ih index 62ead40..82851ca 100644 --- a/Socket/PacketSocketHandle.ih +++ b/Socket/PacketSocketHandle.ih @@ -1,6 +1,6 @@ // $Id$ // -// Copyright (C) 2006 +// Copyright (C) 2006 // Fraunhofer Institut fuer offene Kommunikationssysteme (FOKUS) // Kompetenzzentrum fuer Satelitenkommunikation (SatCom) // Stefan Bund @@ -35,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 struct Range_LLAddressCopier : public LLAddressCopier { Range_LLAddressCopier(ForwardRange const & range); - + unsigned operator()(unsigned char * target) const; ForwardRange const & range_; @@ -60,5 +76,8 @@ namespace detail { // Local Variables: // mode: c++ +// fill-column: 100 // c-file-style: "senf" +// indent-tabs-mode: nil +// ispell-local-dictionary: "american" // End: