diff --git a/src/network/transportsender.cc b/src/network/transportsender.cc index 1564d84..86fb31c 100644 --- a/src/network/transportsender.cc +++ b/src/network/transportsender.cc @@ -16,7 +16,6 @@ along with this program. If not, see . */ -#include #include #include #include @@ -26,7 +25,6 @@ #include "transportsender.h" #include "transportfragment.h" -using namespace boost::lambda; using namespace Network; using namespace std; @@ -312,9 +310,10 @@ void TransportSender::process_acknowledgment_through( uint64_t ack_num { /* Ignore ack if we have culled the state it's acknowledging */ - if ( sent_states.end() != find_if( sent_states.begin(), sent_states.end(), - (&_1)->*&TimestampedState::num == ack_num ) ) { - sent_states.remove_if( (&_1)->*&TimestampedState::num < ack_num ); + if ( sent_states.end() != + find_if( sent_states.begin(), sent_states.end(), + bind2nd( mem_fun_ref( &TimestampedState::num_eq ), ack_num ) ) ) { + sent_states.remove_if( bind2nd( mem_fun_ref( &TimestampedState::num_lt ), ack_num ) ); } assert( !sent_states.empty() ); diff --git a/src/network/transportstate.h b/src/network/transportstate.h index d88efef..09a3a75 100644 --- a/src/network/transportstate.h +++ b/src/network/transportstate.h @@ -31,6 +31,10 @@ namespace Network { TimestampedState( uint64_t s_timestamp, uint64_t s_num, State &s_state ) : timestamp( s_timestamp ), num( s_num ), state( s_state ) {} + + /* For use with find_if, remove_if */ + bool num_eq( uint64_t v ) const { return num == v; } + bool num_lt( uint64_t v ) const { return num < v; } }; }