1: // Created by Frank M. Carrano and Timothy M. Henry.
2: // Copyright (c) 2017 Pearson Education, Hoboken, New Jersey.
4: // Listing C4-5
6: template<class ItemType>
7: class DoubleNode
8: {
9: private:
10: ItemType item; // A data item
11: std::shared_ptr<DoubleNode<ItemType>> next; // Pointer to next node
12: std::weak_ptr<DoubleNode<ItemType>> previous; // Pointer to previous node
13: public:
14: // Constructors, destructors, and methods
15: }; // end DoubleNode