X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Socket%2FClientSocketHandle.ih;h=bfa09a62ccd21fa2aa41b5469c1e51004c90d24d;hb=1ad3873b372da6187b1fbc645bf276287d2efb54;hp=f3a9c4bb16753f876d79521439d6791cd6169e2c;hpb=7a1872f6702d6206bf1d8364c4e894f98d1c64f0;p=senf.git diff --git a/Socket/ClientSocketHandle.ih b/Socket/ClientSocketHandle.ih index f3a9c4b..bfa09a6 100644 --- a/Socket/ClientSocketHandle.ih +++ b/Socket/ClientSocketHandle.ih @@ -1,3 +1,5 @@ +// $Id$ +// // Copyright (C) 2007 // Fraunhofer Institut fuer offene Kommunikationssysteme (FOKUS) // Kompetenzzentrum fuer Satelitenkommunikation (SatCom) @@ -25,13 +27,23 @@ #define IH_ClientSocketHandle_ 1 // Custom includes -#include "Utils/IteratorTraits.hh" +#include "../Utils/IteratorTraits.hh" ///////////////////////////////ih.p//////////////////////////////////////// namespace senf { namespace detail { + /////////////////////////////////////////////////////////////////////// + // senf::detail::ReadRange + + /** \brief Internal: Choose optimal read implementation + + \internal + + If the range iterator is a contiguous_storage_iterator, the data is *directly* read into the + range, otherwise a temporary storage area is used. + */ template struct ReadRange { @@ -42,8 +54,10 @@ namespace detail { readfrom(Handle & handle, ForwardWritableRange & range, typename Handle::Address & addr); }; +# ifndef DOXYGEN + template - struct ReadRange + struct ReadRange { static typename boost::range_iterator::type read(Handle & handle, ForwardWritableRange & range); @@ -52,6 +66,44 @@ namespace detail { readfrom(Handle & handle, ForwardWritableRange & range, typename Handle::Address & addr); }; +# endif + + /////////////////////////////////////////////////////////////////////// + // senf::detail::WriteRange + + /** \brief Internal: Choose optimal write implementation + + \internal + + If the range iterator is a contiguous_storage_iterator, the data is *directly* written from + the range, otherwise a temporary storage area is used. + */ + template + struct WriteRange + { + static typename boost::range_const_iterator::type + write(Handle & handle, ForwardReadableRange & range); + + static typename boost::range_const_iterator::type + writeto(Handle & handle, ForwardReadableRange & range, + typename Handle::Address const & addr); + }; + +# ifndef DOXYGEN + + template + struct WriteRange + { + static typename boost::range_const_iterator::type + write(Handle & handle, ForwardReadableRange & range); + + static typename boost::range_const_iterator::type + writeto(Handle & handle, ForwardReadableRange & range, + typename Handle::Address const & addr); + }; + +# endif + }} ///////////////////////////////ih.e//////////////////////////////////////// @@ -64,4 +116,6 @@ namespace detail { // c-file-style: "senf" // indent-tabs-mode: nil // ispell-local-dictionary: "american" +// compile-command: "scons -u test" +// comment-column: 40 // End: