// Program Name:  Process Scheduler
// Programmer: Mark Dehus, 42
// Assignment Number: Project #1
// Purpose: To simulate and show the process scheduling
//			system of an operating system.

// Tested and compiled on Minigw (GCC 3.2) with Dev-C++ 4.9.8.0
// there is a couple problems on VC++ because it is outdated
// and no longer meets current ISO C++.

#ifndef OBJQUEUE_H
#define OBJQUEUE_H
#include "PCB.h"

using namespace std;

class objQueue
{
    private:
    	PCB *queueArray;
        int queueSize;
        int front;
        int rear;
        int numItems;
    public:
        objQueue(int);
        ~objQueue(void);
        void enqueue(PCB);
        void dequeue(PCB &);
        bool isEmpty(void);
        bool isFull(void);
        int count(void){return numItems;}
        void clear(void);
};

#endif

