X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Socket%2FPacketSocketHandle.ih;h=58ab1a94f297ed2a21cc2e5e27660c97c88a50f9;hb=1cf24483a4b520177bfa539d9601749be6aef2ce;hp=62ead40354880718f0cec476705d967ceb48e23d;hpb=d0006132bfcb3ab442cf66b600ed3fad36f1ac2c;p=senf.git diff --git a/Socket/PacketSocketHandle.ih b/Socket/PacketSocketHandle.ih index 62ead40..58ab1a9 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,10 @@ namespace detail { // Local Variables: // mode: c++ +// fill-column: 100 // c-file-style: "senf" +// indent-tabs-mode: nil +// ispell-local-dictionary: "american" +// compile-command: "scons -u test" +// comment-column: 40 // End: