- if ( itPrev != itEnd
- && ( itPrev->op() == op_push_back || itPrev->op() == op_push_back_move
- || ( m_Deque.empty() && ( itPrev->op() == op_push_front || itPrev->op() == op_push_front_move ))))
- {
- collide( *itPrev, *it );
- itPrev = itEnd;
+ if ( itPrev != itEnd ) {
+ if ( m_Deque.empty() ) {
+ switch ( itPrev->op() ) {
+ case op_push_front:
+ collide( *itPrev, *it );
+ itPrev = itEnd;
+ break;
+ case op_push_front_move:
+ collide_move( *itPrev, *it );
+ itPrev = itEnd;
+ break;
+ default:
+ itPrev = it;
+ break;
+ }
+ }
+ else {
+ switch ( itPrev->op() ) {
+ case op_push_back:
+ collide( *itPrev, *it );
+ itPrev = itEnd;
+ break;
+ case op_push_back_move:
+ collide_move( *itPrev, *it );
+ itPrev = itEnd;
+ break;
+ default:
+ itPrev = it;
+ break;
+ }
+ }