BDE 4.39.x Production Release
Loading...
Searching...
No Matches
bdlcc::FixedQueue_PushProctor< VALUE > Class Template Reference

#include <bdlcc_fixedqueue.h>

Detailed Description

template<class VALUE>
class bdlcc::FixedQueue_PushProctor< VALUE >

This class provides a proctor that, unless the release method has been previously invoked, will remove and destroy all the elements from a FixedQueue object supplied at construction (putting that ring-buffer into a valid empty state) upon the proctor's destruction.

Note
Note that this guard is used to provide exception safety when pushing an element into a FixedQueue.

See bdlcc_fixedqueue

Public Member Functions

 FixedQueue_PushProctor (FixedQueue< VALUE > *queue, unsigned int generation, unsigned int index)
 
 ~FixedQueue_PushProctor ()
 
void release ()
 

Constructor & Destructor Documentation

◆ FixedQueue_PushProctor()

template<class VALUE >
bdlcc::FixedQueue_PushProctor< VALUE >::FixedQueue_PushProctor ( FixedQueue< VALUE > *  queue,
unsigned int  generation,
unsigned int  index 
)
inline

Create a proctor that manages the specified queue and, unless release is called, will remove and destroy all the elements from queue starting at the specified index in the specified generation.

Precondition
The behavior is undefined unless index and generation refers to a valid element in queue.

◆ ~FixedQueue_PushProctor()

template<class VALUE >
bdlcc::FixedQueue_PushProctor< VALUE >::~FixedQueue_PushProctor ( )

Destroy this proctor and, if release was not called on this object, remove and destroy all the elements from the FixedQueue object supplied at construction.

Member Function Documentation

◆ release()

template<class VALUE >
void bdlcc::FixedQueue_PushProctor< VALUE >::release ( )
inline

Release from management the FixedQueue object supplied at construction.


The documentation for this class was generated from the following file: