#include "HW4-Todo-StackLinkedList.hpp"
#include <iostream>

using namespace std;

TodoStackLinkedList::TodoStackLinkedList(){
    stackHead = NULL;
}

TodoStackLinkedList::~TodoStackLinkedList(){
}

bool TodoStackLinkedList::isEmpty(){
    if(stackHead == NULL){
        return true;
    }
    else{
        return false;
    }
}

void TodoStackLinkedList::push(string todoItem){
    TodoItem *temp = new TodoItem;
    temp->todo = todoItem;
    temp->next = stackHead;
    stackHead = temp;
}

void TodoStackLinkedList::pop(){
    TodoItem *temp;
    if(isEmpty()){
        cout << "Stack is empty, cannot pop an item." << endl;
    }
    else{
        temp = stackHead;
        stackHead = stackHead->next;
        delete temp;
    }
}

TodoItem* TodoStackLinkedList::peek(){
    if(isEmpty()){
        cout << "Stack empty, cannot peek." << endl;
    }
    else{
        cout << stackHead->todo << endl;
    }
    return stackHead;
}
