This POD-like class describes a node suitable for use in a doubly-linked list of values of the template parameter type VALUE. This class is a "POD-like" to facilitate efficient allocation and use in the context of a container implementation. In order to meet the essential requirements of a POD type, this class does not define a constructor or destructor. The manipulator, value, returns a modifiable reference to d_value so that it may be constructed in-place by the appropriate bsl::allocator_traits object.
Declared in <bslalg_bidirectionalnode.h>
template<class VALUE>
class BidirectionalNode
: public bslalg::BidirectionalLink
| Name | Description |
|---|---|
bslalg::BidirectionalLink | This POD-like class describes a node suitable for use in a doubly- linked (bidirectional) list, holding the addresses of the preceding and succeeding nodes, either or both of which may be 0. This class is "POD-like" to facilitate efficient allocation and use in the context of a container implementations. In order to meet the essential requirements of a POD type, this class does not declare a constructor or destructor. However its data members are private. It satisfies the requirements of a trivial type and a standard layout type defined by the C++11 standard. Note that this type does not contain any "payload" member data: Clients creating a doubly-linked list of data must define an appropriate node type that incorporates BidirectionalLink (generally via inheritance), and that holds the "value" of any data stored in that node. |
| Name | Description |
|---|---|
ValueType | Payload type stored in this node. |
| Name | Description |
|---|---|
nextLink | Return the address of the next node linked from this node. |
previousLink | Return the address of the preceding node linked from this node. |
reset | Set the nextLink and previousLink attributes of this value to 0. |
setNextLink | Set the successor of this node to be the specified next link. |
setPreviousLink | Set the predecessor of this node to be the specified prev link. |
value | value overloads |