[#BloombergLP-bdlcc-BoundedQueue_Node-0a]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bdlcc.adoc[bdlcc]::BoundedQueue&lowbar;Node
:relfileprefix: ../../
:mrdocs:

This class implements the queue&apos;s node&period;

== Synopsis

Declared in `&lt;bdlcc&lowbar;boundedqueue&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;
    class TYPE,
    bool RECLAIMABLE&gt;
struct BoundedQueue&lowbar;Node;
----

== Description

A node stores an instance of the specified (template parameter) `TYPE`, and provides an accessor `isUnconstructed` that indicates whether the value of the node was correctly constructed&period; If `isUnconstructed` is `false`, then the value (`d&lowbar;value`) refers to a valid object&period; If `isUnconstructed` is `true` then `d&lowbar;value` does not refer to a valid object, it does not represent a value in this queue, and the destructor of `d&lowbar;value` should not be called&period; The specified (template parameter) type `RECLAIMABLE` is used to provide a compile time optimization for the footprint of this template when the value of `isUnconstructed` is known at compile&hyphen;time&period; If `RECLAIMABLE` is `false` then it can be determined at compile time that the construction of `TYPE` will unconditionally succeed (e&period;g&period;, it `IsBitwiseCopyable`), and the `isUnconstructed` property does not require a data member to be accessed at run&hyphen;time&period;

== Specializations

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bdlcc/BoundedQueue_Node-07.adoc[`BoundedQueue&lowbar;Node&lt;TYPE, false&gt;`] 
| This class implements a non&hyphen;reclaimable node in a `BoundedQueue`&period;
| xref:BloombergLP/bdlcc/BoundedQueue_Node-0f.adoc[`BoundedQueue&lowbar;Node&lt;TYPE, true&gt;`] 
| This class implements a reclaimable node in a `BoundedQueue`&period;
|===



[.small]#Created with https://www.mrdocs.com[MrDocs]#
