MCPcopy Create free account
hub / github.com/FirebirdSQL/firebird / fc_process

Function fc_process

extern/libcds/cds/container/fcqueue.h:353–371  ·  view source on GitHub ↗

Batch-processing flat combining

Source from the content-addressed store, hash-verified

351
352 /// Batch-processing flat combining
353 void fc_process( typename fc_kernel::iterator itBegin, typename fc_kernel::iterator itEnd )
354 {
355 typedef typename fc_kernel::iterator fc_iterator;
356
357 for ( fc_iterator it = itBegin, itPrev = itEnd; it != itEnd; ++it ) {
358 switch ( it->op( atomics::memory_order_acquire )) {
359 case op_enq:
360 case op_enq_move:
361 case op_deq:
362 if ( m_Queue.empty()) {
363 if ( itPrev != itEnd && collide( *itPrev, *it ))
364 itPrev = itEnd;
365 else
366 itPrev = it;
367 }
368 break;
369 }
370 }
371 }
372 //@endcond
373
374 private:

Callers

nothing calls this directly

Calls 2

opMethod · 0.45
emptyMethod · 0.45

Tested by

no test coverage detected