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.

Synopsis

Declared in <bslalg_bidirectionalnode.h>

template<class VALUE>
class BidirectionalNode
    : public bslalg::BidirectionalLink

Base Classes

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.

Type Aliases

Name

Description

ValueType

Payload type stored in this node.

Member Functions

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

Created with MrDocs