summaryrefslogtreecommitdiff
path: root/cpp
diff options
context:
space:
mode:
authorBenoit Foucher <benoit@zeroc.com>2006-03-28 14:58:24 +0000
committerBenoit Foucher <benoit@zeroc.com>2006-03-28 14:58:24 +0000
commit5619e09a57184fc51cbb2b508964109439e7265f (patch)
tree75c1605e583521fd1cc528772d5d640c194bbc86 /cpp
parentUse ptr_fun for IceUtil::random (diff)
downloadice-5619e09a57184fc51cbb2b508964109439e7265f.tar.bz2
ice-5619e09a57184fc51cbb2b508964109439e7265f.tar.xz
ice-5619e09a57184fc51cbb2b508964109439e7265f.zip
ptr_fun doesn't work with GCC, added temporary #ifdef for Windows only
Diffstat (limited to 'cpp')
-rw-r--r--cpp/src/Ice/Reference.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/cpp/src/Ice/Reference.cpp b/cpp/src/Ice/Reference.cpp
index caaa5b51e8b..77275bd8648 100644
--- a/cpp/src/Ice/Reference.cpp
+++ b/cpp/src/Ice/Reference.cpp
@@ -636,8 +636,12 @@ IceInternal::FixedReference::filterConnections(const vector<ConnectionIPtr>& all
//
// Randomize the order of connections.
//
+#ifdef _MSC_VER
random_shuffle(connections.begin(), connections.end(), ptr_fun(IceUtil::random));
-
+#else
+ random_shuffle(connections.begin(), connections.end(), IceUtil::random);
+#endif
+
//
// If a secure connection is requested, remove all non-secure
// connections. Otherwise make non-secure connections preferred over
@@ -932,7 +936,11 @@ IceInternal::RoutableReference::createConnection(const vector<EndpointIPtr>& all
{
case Random:
{
+#ifdef _MSC_VER
random_shuffle(endpoints.begin(), endpoints.end(), ptr_fun(IceUtil::random));
+#else
+ random_shuffle(endpoints.begin(), endpoints.end(), IceUtil::random);
+#endif
break;
}
case Ordered: