// Created by Frank M. Carrano and Tim Henry. // Copyright (c) 2013 __Pearson Education__. All rights reserved. /** Listing C6-2. @file LinkedIterator.cpp */ #include "LinkedIterator.h" template LinkedIterator:: LinkedIterator(const LinkedList* someList, Node* nodePtr): containerPtr(someList), currentItemPtr(nodePtr) { } // end constructor template const ItemType LinkedIterator::operator*() { return currentItemPtr->getItem(); } // end operator* template LinkedIterator LinkedIterator::operator++() { currentItemPtr = currentItemPtr->getNext(); return *this; } // end prefix operator++ template bool LinkedIterator::operator==(const LinkedIterator& rightHandSide) const { return ((containerPtr == rightHandSide.containerPtr) && (currentItemPtr == rightHandSide.currentItemPtr)); } // end operator== template bool LinkedIterator::operator!=(const LinkedIterator& rightHandSide) const { return ((containerPtr != rightHandSide.containerPtr) || (currentItemPtr != rightHandSide.currentItemPtr)); } // end operator!=