Skip to content
Snippets Groups Projects
Commit ca71f6d0 authored by g0dil's avatar g0dil
Browse files

Socket: Add boost::disable_if conditions to ClientSocketHandle::read members for disambiguation

parent 7cb6237f
No related branches found
No related tags found
No related merge requests found
......@@ -141,7 +141,9 @@ senf::ClientSocketHandle<Policy>::operator=(ClientSocketHandle<OtherPolicy> othe
template <class Policy>
template <class ForwardWritableRange>
prefix_ typename boost::range_iterator<ForwardWritableRange>::type
senf::ClientSocketHandle<Policy>::read(ForwardWritableRange const & range)
senf::ClientSocketHandle<Policy>::
read(ForwardWritableRange const & range,
typename boost::disable_if< boost::is_convertible<ForwardWritableRange,unsigned> >::type *)
{
return detail::ReadRange<
ClientSocketHandle<Policy>,
......@@ -155,7 +157,9 @@ senf::ClientSocketHandle<Policy>::read(ForwardWritableRange const & range)
template <class Policy>
template <class ForwardWritableRange>
prefix_ typename boost::range_iterator<ForwardWritableRange>::type
senf::ClientSocketHandle<Policy>::read(ForwardWritableRange & range)
senf::ClientSocketHandle<Policy>::
read(ForwardWritableRange & range,
typename boost::disable_if< boost::is_convertible<ForwardWritableRange,unsigned> >::type *)
{
return detail::ReadRange<
ClientSocketHandle<Policy>,
......
......@@ -30,6 +30,8 @@
// Custom includes
#include <boost/call_traits.hpp>
#include <boost/range.hpp>
#include <boost/utility.hpp>
#include <boost/type_traits.hpp>
#include "SocketHandle.hh"
//#include "ClientSocketHandle.mpp"
......@@ -173,7 +175,8 @@ namespace senf {
std::string read (unsigned limit=0);
template <class ForwardWritableRange>
typename boost::range_iterator<ForwardWritableRange>::type
read (ForwardWritableRange const & range);
read (ForwardWritableRange const & range,
typename boost::disable_if< boost::is_convertible<ForwardWritableRange,unsigned> >::type * = 0);
///< Read data into range
/**< Read data into the given range. At most
<tt>boost::size(range)</tt> characters are read. The
......@@ -188,7 +191,8 @@ namespace senf {
<a href="http://www.boost.org/libs/range/index.html">Boost.Range</a> */
template <class ForwardWritableRange>
typename boost::range_iterator<ForwardWritableRange>::type
read (ForwardWritableRange & range);
read (ForwardWritableRange & range,
typename boost::disable_if< boost::is_convertible<ForwardWritableRange,unsigned> >::type * = 0);
///< Read data into range
/**< \see read(ForwardWritableRange const &) \n
read() \n
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment