Source of toVector.cpp


  1: //  Created by Frank M. Carrano and Timothy M. Henry.
  2: //  Copyright (c) 2017 Pearson Education, Hoboken, New Jersey.

  4: template<class ItemType>
  5: std::vector<ItemType> LinkedBag<ItemType>::toVector() const
  6: {
  7:    std::vector<ItemType> bagContents;
  8:    fillVector(bagContents, headPtr);
  9:    return bagContents;
 10: } // end toVector

 12: template<class ItemType>
 13: void LinkedBag<ItemType>::fillVector(vector<ItemType>& bagContents,
 14:                                      Node<ItemType>* curPtr) const
 15: {
 16:    if (curPtr != nullptr)
 17:    {
 18:       bagContents.push_back(curPtr->getItem());
 19:       fillVector(bagContents, curPtr->getNext());
 20:    } // end if
 21: }  // end fillVector