typedef std::pair<CAlarmPerfType, WORD> CSS_ALM_PAIR;
typedef std::map<CAlarmPerfType, WORD> CSS_ALM_MAP;
typedef CSS_ALM_MAP::const_iterator CSS_ALM_IT;
// <(檢測點,告警原因),告警優先級>的map ,也就是 (CAlarmPerfType,WORD )
CAlarmPerfType,裏面有成員檢測點,告警原因
CSS_ALM_MAP CAlarmMgr::m_mapAlm;
pair<CSS_ALM_IT, bool> pairB;
CAlarmPerfType oAlarm;
oAlarm.m_ucCheckPoint = ucCheckPoint;
oAlarm.m_wReason = wReason;
pairB = m_mapAlm.insert( CSS_ALM_PAIR(oAlarm, wPrior) );
插入之前叫pair,插入之後叫map
map查找:
CSS_ALM_IT itPrior = m_mapAlm.find(oAlarmType);
如果找到了,則獲取優先級
if (itPrior != m_mapAlm.end())
{
wPrior = itPrior->second;
}
map遍歷
LSTALARM::iterator itAlm;
for (itAlm = m_lstAlm.begin(); itAlm != m_lstAlm.end(); ++itAlm)
{
int prio=(*itAlm)->m_wPrior ;
}