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

Function dequeue

extern/libcds/cds/intrusive/fcqueue.h:181–196  ·  view source on GitHub ↗

Removes the next element from the queue If the queue is empty the function returns \p nullptr */

Source from the content-addressed store, hash-verified

179 If the queue is empty the function returns \p nullptr
180 */
181 value_type * dequeue()
182 {
183 auto pRec = m_FlatCombining.acquire_record();
184 pRec->pVal = nullptr;
185
186 constexpr_if ( c_bEliminationEnabled )
187 m_FlatCombining.batch_combine( op_deq, pRec, *this );
188 else
189 m_FlatCombining.combine( op_deq, pRec, *this );
190
191 assert( pRec->is_done());
192 m_FlatCombining.release_record( pRec );
193
194 m_FlatCombining.internal_statistics().onDequeue( pRec->bEmpty );
195 return pRec->pVal;
196 }
197
198 /// Removes the next element from the queue (a synonym for \ref dequeue)
199 value_type * pop()

Callers 11

dequeueMethod · 0.70
popMethod · 0.70
popMethod · 0.70
clearMethod · 0.70
popMethod · 0.70
popMethod · 0.70
clearMethod · 0.70
popFunction · 0.70
popMethod · 0.70
clearMethod · 0.70
popMethod · 0.70

Calls 6

assertClass · 0.85
acquire_recordMethod · 0.80
batch_combineMethod · 0.80
release_recordMethod · 0.80
is_doneMethod · 0.45
onDequeueMethod · 0.45

Tested by

no test coverage detected