X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Socket%2FClientSocketHandle.cti;h=9a5cd7b28a759463e9dd4195258ea9fb79b06615;hb=6f50bf49e282c0528f51faa0a245bbfa2b867399;hp=d836823498b11d3b68ddb95652358c5a117fc287;hpb=8421c3a8da7485cb8781045494ecaab3ed84f403;p=senf.git diff --git a/Socket/ClientSocketHandle.cti b/Socket/ClientSocketHandle.cti index d836823..9a5cd7b 100644 --- a/Socket/ClientSocketHandle.cti +++ b/Socket/ClientSocketHandle.cti @@ -1,9 +1,9 @@ // $Id$ // // Copyright (C) 2006 -// Fraunhofer Institut fuer offene Kommunikationssysteme (FOKUS) -// Kompetenzzentrum fuer Satelitenkommunikation (SatCom) -// Stefan Bund +// Fraunhofer Institute for Open Communication Systems (FOKUS) +// Competence Center NETwork research (NET), St. Augustin, GERMANY +// Stefan Bund // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by @@ -68,13 +68,13 @@ prefix_ typename boost::range_const_iterator::type senf::detail::WriteRange:: write(Handle & handle, ForwardReadableRange & range) { - typename boost::range_const_iterator::type const i + typename boost::range_const_iterator::type i (boost::const_begin(range)); char const * const ic (reinterpret_cast(storage_iterator(i))); - return i + (handle.write(ic, - reinterpret_cast( - storage_iterator(boost::const_end(range)))) - - ic); + std::advance(i, handle.write(ic, + reinterpret_cast( + storage_iterator(boost::const_end(range)))) - ic); + return i; } template @@ -82,14 +82,13 @@ prefix_ typename boost::range_const_iterator::type senf::detail::WriteRange:: writeto(Handle & handle, ForwardReadableRange & range, typename Handle::Address const & addr) { - typename boost::range_const_iterator::type const i + typename boost::range_const_iterator::type i (boost::const_begin(range)); char const * const ic (reinterpret_cast(storage_iterator(i))); - return i + (handle.writeto(addr, - ic, - reinterpret_cast( - storage_iterator(boost::const_end(range)))) - - ic); + std::advance(i, handle.writeto(addr, ic, + reinterpret_cast( + storage_iterator(boost::const_end(range)))) - ic); + return i; } /////////////////////////////////////////////////////////////////////////// @@ -102,6 +101,7 @@ template prefix_ senf::ClientSocketHandle::ClientSocketHandle() {} +#ifndef DOXYGEN template template prefix_ senf::ClientSocketHandle:: @@ -109,6 +109,13 @@ ClientSocketHandle(ClientSocketHandle other, typename SocketHandle::template IsCompatible::type *) : SocketHandle(other,true) {} +#else +template +template +prefix_ senf::ClientSocketHandle:: +ClientSocketHandle(ClientSocketHandle other) +{} +#endif template prefix_ senf::ClientSocketHandle::ClientSocketHandle(FileHandle other, bool isChecked) @@ -117,13 +124,11 @@ prefix_ senf::ClientSocketHandle::ClientSocketHandle(FileHandle other, b template prefix_ -senf::ClientSocketHandle::ClientSocketHandle(std::auto_ptr protocol, - int fd) - : SocketHandle(protocol,false) -{ - this->body().fd(fd); -} +senf::ClientSocketHandle::ClientSocketHandle(std::auto_ptr body) + : SocketHandle(body) +{} +#ifndef DOXYGEN template template prefix_ typename senf::SocketHandle::template IsCompatible::type const & @@ -132,16 +137,26 @@ senf::ClientSocketHandle::operator=(ClientSocketHandle othe assign(other); return *this; } +#else +template +template +prefix_ OtherPolicy const & +senf::ClientSocketHandle::operator=(ClientSocketHandle other) +{} +#endif //////////////////////////////////////// // reading and writing // senf::ClientSocketHandle::read +#ifndef DOXYGEN template template prefix_ typename boost::range_iterator::type -senf::ClientSocketHandle::read(ForwardWritableRange const & range) +senf::ClientSocketHandle:: +read(ForwardWritableRange const & range, + typename boost::disable_if< boost::is_convertible >::type *) { return detail::ReadRange< ClientSocketHandle, @@ -151,11 +166,22 @@ senf::ClientSocketHandle::read(ForwardWritableRange const & range) >::value && sizeof(typename boost::range_value::type)==sizeof(char) >::read(*this, range); } +#else +template +template +prefix_ typename boost::range_iterator::type +senf::ClientSocketHandle:: +read(ForwardWritableRange const & range) +{} +#endif +#ifndef DOXYGEN template template prefix_ typename boost::range_iterator::type -senf::ClientSocketHandle::read(ForwardWritableRange & range) +senf::ClientSocketHandle:: +read(ForwardWritableRange & range, + typename boost::disable_if< boost::is_convertible >::type *) { return detail::ReadRange< ClientSocketHandle, @@ -165,6 +191,14 @@ senf::ClientSocketHandle::read(ForwardWritableRange & range) >::value && sizeof(typename boost::range_value::type)==sizeof(char) >::read(*this, range); } +#else +template +template +prefix_ typename boost::range_iterator::type +senf::ClientSocketHandle:: +read(ForwardWritableRange & range) +{} +#endif template prefix_ char * senf::ClientSocketHandle::read(char * start, char * end) @@ -312,37 +346,6 @@ bind(typename boost::call_traits::pa } //////////////////////////////////////// -// Buffering - -// senf::ClientSocketHandle::rcvbuf - -template -prefix_ unsigned senf::ClientSocketHandle::rcvbuf() -{ - return Policy::BufferingPolicy::rcvbuf(*this); -} - -template -prefix_ void senf::ClientSocketHandle::rcvbuf(unsigned size) -{ - Policy::BufferingPolicy::rcvbuf(*this,size); -} - -// senf::ClientSocketHandle::sndbuf - -template -prefix_ unsigned senf::ClientSocketHandle::sndbuf() -{ - return Policy::BufferingPolicy::sndbuf(*this); -} - -template -prefix_ void senf::ClientSocketHandle::sndbuf(unsigned size) -{ - Policy::BufferingPolicy::sndbuf(*this,size); -} - -//////////////////////////////////////// // Casting template @@ -390,4 +393,6 @@ prefix_ std::string senf::ClientSocketHandle::dumpState(unsigned lod) // c-file-style: "senf" // indent-tabs-mode: nil // ispell-local-dictionary: "american" +// compile-command: "scons -u test" +// comment-column: 40 // End: