1: // Created by Frank M. Carrano and Timothy M. Henry. 2: // Copyright (c) 2017 Pearson Education, Hoboken, New Jersey. 4: template<class ItemType> 5: bool LinkedQueue<ItemType>::enqueue(const ItemType& newEntry) 6: { 7: auto newNodePtr = std::make_shared<Node<ItemType>>(newEntry); 8: 9: // Insert the new node 10: if (isEmpty()) 11: frontPtr = newNodePtr; // The queue was empty 12: else 13: backPtr–>setNext(newNodePtr); // The queue was not empty 14: 15: backPtr = newNodePtr; // New node is at back 16: return true; 17: } // end enqueue