STACK.H

/*++ 

Copyright (c) 1995 Intel Corp

File Name:

stack.h

Abstract:

Implements stack structure.

--*/

#ifndef _STACKH_
#define _STACKH_

#include "nowarn.h" /* turn off benign warnings */
#ifndef _WINSOCKAPI_
#define _WINSOCKAPI_ /* Prevent inclusion of winsock.h in windows.h */
#endif
#include <winsock2.h>
#include "nowarn.h" /* some warnings may have been turned back on */
#include "nideque.h"

// Name: Stack_c
// Purpose: A general purpose stack.
// Context: Can be used anywhere.
template<class T> class Stack_c : private NIDeque_c<T> {

public:
Stack_c() : NIDeque_c<T>() {}
~Stack_c() {}
inline BOOL Push(T Data) {return NIDeque_c<T>::InsertIntoFront(Data);}
inline BOOLPop(T &Data) {return
NIDeque_c<T>::RemoveFromFront(Data);}
inline BOOL IsEmpty() {return NIDeque_c<T>::IsEmpty();}
};

#endif