X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Socket%2FClientSocketHandle.ih;h=6000c5d3b83323d7f7d98b72446fb4749398cdba;hb=81ffa1c459b96dd44472bcef37e1e373934ee138;hp=f3a9c4bb16753f876d79521439d6791cd6169e2c;hpb=7a1872f6702d6206bf1d8364c4e894f98d1c64f0;p=senf.git diff --git a/Socket/ClientSocketHandle.ih b/Socket/ClientSocketHandle.ih index f3a9c4b..6000c5d 100644 --- a/Socket/ClientSocketHandle.ih +++ b/Socket/ClientSocketHandle.ih @@ -32,6 +32,16 @@ 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 +52,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 +64,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_iterator::type + write(Handle & handle, ForwardReadableRange & range); + + static typename boost::range_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 +114,6 @@ namespace detail { // c-file-style: "senf" // indent-tabs-mode: nil // ispell-local-dictionary: "american" +// compile-command: "scons -u test" +// comment-column: 40 // End: