From 32da68bc8e7c24c86f5813d93c1c2a9de335283f Mon Sep 17 00:00:00 2001 From: Nicola Musatti Date: Mon, 6 Oct 2008 21:46:14 +0000 Subject: [PATCH] Patch from Ticket #2372 [SVN r49155] --- include/boost/asio/read_until.hpp | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/include/boost/asio/read_until.hpp b/include/boost/asio/read_until.hpp index 7695cd09..30959a9c 100644 --- a/include/boost/asio/read_until.hpp +++ b/include/boost/asio/read_until.hpp @@ -30,11 +30,27 @@ #include #include +#include + namespace boost { namespace asio { namespace detail { +#if BOOST_WORKAROUND(__CODEGEARC__, BOOST_TESTED_AT(0x610)) + template + struct has_result_type + { + template 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::helper)((ref)())) == 1) }; + }; +#else template struct has_result_type { @@ -44,6 +60,7 @@ namespace detail 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