[#BloombergLP-bdlcc-Deque-Proctor] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bdlcc.adoc[bdlcc]::xref:BloombergLP/bdlcc/Deque.adoc[Deque]::Proctor :relfileprefix: ../../../ :mrdocs: This class defines a proctor type that provides direct access to the underlying `bsl::deque` contained in a `Deque`. Creation of a `Proctor` object locks the mutex of the `Deque`, and destruction unlocks it. == Synopsis Declared in `<bdlcc_deque.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- class Proctor; ---- == Member Functions [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bdlcc/Deque/Proctor/2constructor.adoc[`Proctor`] [.small]#[constructor]# | Create a `Proctor` object to provide access to the underlying `bsl::deque` contained in the optionally specified `*container`, locking `container`s mutex. If no `container` is specified, this object will be null. | xref:BloombergLP/bdlcc/Deque/Proctor/2destructor.adoc[`~Proctor`] [.small]#[destructor]# | Release the lock on the mutex of the `Deque` that was provided at contstuction and destroy this `Proctor` object. Signal the conditions on the `Deque` that was supplied to this object at construction to reflect any changes that have been made to its contents since construction. | xref:BloombergLP/bdlcc/Deque/Proctor/isNull.adoc[`isNull`] | Return `true` if this object is not associated with a `Deque` object. | xref:BloombergLP/bdlcc/Deque/Proctor/load.adoc[`load`] | In the case where this `Proctor` has been released, attach this object to the specified `container`. If this object is already attached, release the previous object first. The behavior is undefined if `0 == container`. | xref:BloombergLP/bdlcc/Deque/Proctor/operator_star.adoc[`operator*`] | Return a reference to the `bsl::deque` managed by this `Proctor` object. The behavior is undefined if this `Proctor` has been released. | xref:BloombergLP/bdlcc/Deque/Proctor/operator_ptr.adoc[`operator‐>`] | Return a pointer to the `bsl::deque` contained in the `Deque` managed by this `Proctor` object'. The behavior is undefined if this `Proctor` has been released. | xref:BloombergLP/bdlcc/Deque/Proctor/operator_subs.adoc[`operator[]`] | Return a reference providing modifiable access to the element at the specified `position` in the `bsl::deque` held by this proctor. The behavior is undefined unless `position < size` where `size` is the the number of elements in that deque. | xref:BloombergLP/bdlcc/Deque/Proctor/release.adoc[`release`] | Release this proctor without destroying it. Afterward the destructor will have no effect. This may be called multiple times; only the first call has any effect. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#