[#BloombergLP-bslalg-BidirectionalNode]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslalg.adoc[bslalg]::BidirectionalNode
:relfileprefix: ../../
:mrdocs:

POD&hyphen;like node holding a `VALUE` in a doubly&hyphen;linked list&period;

== Synopsis

Declared in `&lt;bslalg&lowbar;bidirectionalnode&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;class VALUE&gt;
class BidirectionalNode
    : public xref:BloombergLP/bslalg/BidirectionalLink.adoc[bslalg::BidirectionalLink]
----

== Description

This POD&hyphen;like `class` describes a node suitable for use in a doubly&hyphen;linked list of values of the template parameter type `VALUE`&period; This class is a &quot;POD&hyphen;like&quot; to facilitate efficient allocation and use in the context of a container implementation&period; In order to meet the essential requirements of a POD type, this `class` does not define a constructor or destructor&period; The manipulator, `value`, returns a modifiable reference to `d&lowbar;value` so that it may be constructed in&hyphen;place by the appropriate `bsl&colon;&colon;allocator&lowbar;traits` object&period;

== Base Classes

[cols="1,4"]
|===
| Name| Description
| `xref:BloombergLP/bslalg/BidirectionalLink.adoc[bslalg::BidirectionalLink]`
| A node in a doubly&hyphen;linked (bidirectional) list&period;
|===

== Type Aliases

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bslalg/BidirectionalNode/ValueType.adoc[`ValueType`] 
| Payload type stored in this node&period;
|===


== Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bslalg/BidirectionalLink/nextLink.adoc[`nextLink`] 
| Return the address of the next node linked from this node&period;
| xref:BloombergLP/bslalg/BidirectionalLink/previousLink.adoc[`previousLink`] 
| Return the address of the preceding node linked from this node&period;
| xref:BloombergLP/bslalg/BidirectionalLink/reset.adoc[`reset`] 
| Set the `nextLink` and `previousLink` attributes of this value to 0&period;
| xref:BloombergLP/bslalg/BidirectionalLink/setNextLink.adoc[`setNextLink`] 
| Set the successor of this node to be the specified `next` link&period;
| xref:BloombergLP/bslalg/BidirectionalLink/setPreviousLink.adoc[`setPreviousLink`] 
| Set the predecessor of this node to be the specified `previous` link&period;
| xref:BloombergLP/bslalg/BidirectionalNode/value-09.adoc[`value`] 
| `value` overloads
|===



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