Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r49155 - trunk/boost/asio
From: nicola.musatti_at_[hidden]
Date: 2008-10-06 17:46:15


Author: nmusatti
Date: 2008-10-06 17:46:14 EDT (Mon, 06 Oct 2008)
New Revision: 49155
URL: http://svn.boost.org/trac/boost/changeset/49155

Log:
Patch from Ticket #2372
Text files modified:
   trunk/boost/asio/read_until.hpp | 17 +++++++++++++++++
   1 files changed, 17 insertions(+), 0 deletions(-)

Modified: trunk/boost/asio/read_until.hpp
==============================================================================
--- trunk/boost/asio/read_until.hpp (original)
+++ trunk/boost/asio/read_until.hpp 2008-10-06 17:46:14 EDT (Mon, 06 Oct 2008)
@@ -30,11 +30,27 @@
 #include <boost/asio/basic_streambuf.hpp>
 #include <boost/asio/error.hpp>
 
+#include <boost/detail/workaround.hpp>
+
 namespace boost {
 namespace asio {
 
 namespace detail
 {
+#if BOOST_WORKAROUND(__CODEGEARC__, BOOST_TESTED_AT(0x610))
+ template <typename T>
+ struct has_result_type
+ {
+ template <typename U> struct inner
+ {
+ struct big { char a[100]; };
+ static big helper(U, ...);
+ static char helper(U, typename U::result_type* = 0);
+ };
+ static const T& ref();
+ enum { value = (sizeof((inner<const T&>::helper)((ref)())) == 1) };
+ };
+#else
   template <typename T>
   struct has_result_type
   {
@@ -44,6 +60,7 @@
     static const T& ref();
     enum { value = (sizeof((helper)((ref)())) == 1) };
   };
+#endif
 } // namespace detail
 
 /// Type trait used to determine whether a type can be used as a match condition


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk