Skip to content
Snippets Groups Projects
node.h 1.29 KiB
Newer Older
#ifndef __LINKEDLIST_NODE__
#define __LINKEDLIST_NODE__

#include <iostream>

template <typename T>
class Node
{
private:
    T value;
	int count;
    Node<T>* next;
    Node<T>* prev;
    
public:
    Node();
    
    Node( T );
    
    Node( T, Node*, Node* );
    
    T getValue();
    
    void setValue(T val);
    
    Node* getNext();
    
    void setNext(Node*);
	
	Node* getPrevious();
	
	void setPrevious(Node*);
	
	int getCount();
	
	void setCount(int);
};

template<typename T>
Node<T>::Node(void):
count(0), next(NULL), prev(NULL) {}

template<typename T>
Node<T>::Node(T val):
value(val), count(0), next(NULL), prev(NULL) {}

template<typename T>
Node<T>::Node(T val, Node* n, Node* p):
value(val), next(n), prev(p) {}

template<typename T>
T Node<T>::getValue(void)
{
    return this->value;
}

template<typename T>
Node<T>* Node<T>::getNext(void)
{
    return this->next;
}

template<typename T>
void Node<T>::setNext(Node<T>* n)
{
    this->next = n;
}

template<typename T>
Node<T>* Node<T>::getPrevious(void)
{
	return this->prev;
}

template<typename T>
void Node<T>::setPrevious(Node<T>* p)
{
	this->prev = p;
}

template<typename T>
int Node<T>::getCount()
{
	return this->count;
}

template<typename T>
void Node<T>::setCount(int c)
{
	this->count = c;
}

#endif /* defined(__LinkedList__Node__) */