⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 attrpairfields.cpp

📁 小型短信网关系统
💻 CPP
字号:
#include 	"AttrPairFields.h"#include	"Logger.h"//debug#include	<stdio.h>AttrPairFields::AttrPairFields(){	_attrPairFields=(AttrPairsMap*) NULL;	//_attrPairFields	= new AttrPairsMap;}AttrPairFields::~AttrPairFields(){	if(_attrPairFields == NULL)			return;	//NOTE: have to delete 	//cout<<"Destruction of AttrPairFields.\n" ;        AttrPairsMap::iterator iter = _attrPairFields->begin();        while(iter != _attrPairFields->end())        {                delete  iter->second;//                iter->second=NULL;                iter++;        }	_attrPairFields->clear();	delete _attrPairFields;//	_attrPairFields=NULL;}AttrValuePair*	AttrPairFields::getPairByAttr(Octet attr){	/*	if(_attrPairFields == (AttrPairFields*)NULL)		return	(AttrValuePair*)NULL;	*/	AttrPairsMap::iterator iter = _attrPairFields->find(attr);	if(iter != _attrPairFields->end())		return iter->second;	return (AttrValuePair*)NULL;}int	AttrPairFields::addPairField(AttrValuePair* pair){	if(_attrPairFields == (AttrPairsMap*)NULL)		_attrPairFields	= new AttrPairsMap;	//NOTE:if have element, begin() return the first element,if not, begin()	//	equal end(),  and end() is allways return a NULL poiter/*	if(_attrPairFields.begin() == _attrPairFields.end())	{	// if _attrPairFields is a poiter		_attrPairFields	= new AttrPairsMap;		_attrPairFields->insert(make_pair(pair->getAttr(), pair));		return 0;	}*/	if(_attrPairFields->find(pair->getAttr()) != _attrPairFields->end())	{		return -1;	}	//debug	//printf("pair: attr=%d,name=%s\n",pair->getAttr(), (pair->getNameAttr()).c_str());		_attrPairFields->insert(make_pair(pair->getAttr(), pair));		return 0;}int	AttrPairFields::removePairByAttr(Octet attr){	//the latter has involve this condiction	//if(_attrPairFields == (AttrPairsMap*)NULL)	//have no elements or _attrPairFields is NULL	if(_attrPairFields->begin() == _attrPairFields->end())	{		return -2;	}	//if not found , find() will point to end();		if(_attrPairFields->find(attr) == _attrPairFields->end())	{		return -1;	}		//NOTE: have to delete the element	delete (*_attrPairFields)[attr];	//	(*_attrPairFields)[attr]=NULL;	_attrPairFields->erase(attr);	return 0;}AttrPairsMap*	AttrPairFields::getAllFields(){	return	_attrPairFields;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -