From 67dd5f7e03147e1e145f8d063b7b443ede02bb2e Mon Sep 17 00:00:00 2001 From: "Charles E. Rolke" Date: Fri, 30 Nov 2012 15:55:16 +0000 Subject: NO-JIRA: Repair build for Windows VS2010 vector::push_back now has two signatures that confuse boost. Use an explicit callback and do the push_back there. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1415709 13f79535-47bb-0310-9956-ffa450edef68 --- qpid/cpp/src/qpid/ha/BrokerReplicator.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'qpid/cpp/src') diff --git a/qpid/cpp/src/qpid/ha/BrokerReplicator.cpp b/qpid/cpp/src/qpid/ha/BrokerReplicator.cpp index 6b88111732..76f7341b4b 100644 --- a/qpid/cpp/src/qpid/ha/BrokerReplicator.cpp +++ b/qpid/cpp/src/qpid/ha/BrokerReplicator.cpp @@ -837,6 +837,13 @@ void BrokerReplicator::autoDeleteCheck(boost::shared_ptr ex) { } } +// Callback function for accumulating exchange candidates +namespace { + void exchangeAccumulatorCallback(vector >& c, const Exchange::shared_ptr& i) { + c.push_back(i); + } +} + void BrokerReplicator::disconnected() { QPID_LOG(info, logPrefix << "Disconnected"); connection = 0; @@ -844,7 +851,7 @@ void BrokerReplicator::disconnected() { vector > collect; // Make a copy so we can work outside the ExchangeRegistry lock exchanges.eachExchange( - boost::bind(&vector >::push_back, ref(collect), _1)); + boost::bind(&exchangeAccumulatorCallback, boost::ref(collect), _1)); for_each(collect.begin(), collect.end(), boost::bind(&BrokerReplicator::autoDeleteCheck, this, _1)); } -- cgit v1.2.1