ItemType BinaryNodeTree<ItemType>::getRootData() const throw(PrecondViolatedExcep) { if (isEmpty()) throw PrecondViolatedExcep("getRootData() called with empty tree."); return rootPtr->getItem(); } // end getRootData
ItemType ArrayMaxHeap<ItemType>::peekTop() const throw(PrecondViolatedExcep) { if (isEmpty()) throw PrecondViolatedExcep("Attempted peek into an empty heap."); return items[0]; } // end peekTop
ItemType LinkedQueue<ItemType>::peekFront() const throw(PrecondViolatedExcep) { if (isEmpty()) throw PrecondViolatedExcep("getFront() called with empty queue."); // Queue is not empty; return front return frontPtr->getItem(); } // end peekFront
void LinkedList<ItemType>::setEntry(int position, const ItemType& newEntry) throw(PrecondViolatedExcep) { // Enforce precondition bool ableToSet = (position >= 1) && (position <= itemCount); if (ableToSet) { Node<ItemType>* nodePtr = getNodeAt(position); nodePtr->setItem(newEntry); } else { string message = "setEntry() called with an invalid position."; throw(PrecondViolatedExcep(message)); } // end if } // end setEntry
ItemType LinkedList<ItemType>::getEntry(int position) const throw(PrecondViolatedExcep) { // Enforce precondition bool ableToGet = (position >= 1) && (position <= itemCount); if (ableToGet) { Node<ItemType>* nodePtr = getNodeAt(position); return nodePtr->getItem(); } else { string message = "getEntry() called with an empty list or "; message = message + "invalid position."; throw(PrecondViolatedExcep(message)); } // end if } // end getEntry