📄 innerwaitqueue.h
字号:
#pragma once
#include "MyVariousState.h"
//处理电梯内部活动消息的数据结构,把要求装换成位串,从而实现电梯内部的任务要求
class CInnerReqStruNode
{
public:
CInnerReqStruNode();
CInnerReqStruNode(int iStrLen);
virtual ~CInnerReqStruNode();
void setFloor(int index);//将有消息的楼层置1
bool getFloor(int index);//获得楼层消息
void clrMessage(int index);//清除消息
CString showBitString();
private:
int m_iStrLen;
DWORD m_dBitString;
};
class CInnerWaitQueue
{
public:
CInnerWaitQueue(void);
CInnerWaitQueue(int iMaxQueueLen);
~CInnerWaitQueue(void);
void addElement(int iDestFloor);
void removeElement(int iDestFloor);
int getNextAvail();
protected:
int m_iCurPos;
int m_iMaxQueueLen;
CInnerReqStruNode* m_cBitString;
};
//上行等待队列
class CUpInnerWaitQueue : public CInnerWaitQueue
{
public:
CUpInnerWaitQueue();
CUpInnerWaitQueue(int iMaxQueueLen);
~CUpInnerWaitQueue();
int getNextAvail();//如果当前位置后面再也没有请求,则返回-1
};
//下行等待队列
class CDownInnerWaitQueue : public CInnerWaitQueue
{
public:
CDownInnerWaitQueue();
CDownInnerWaitQueue(int iMaxQueueLen);
~CDownInnerWaitQueue();
int getNextAvail();//如果当前位置后面再也没有请求,则返回-1
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -