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

📄 variablebuffer.cpp

📁 天之炼狱1服务器端源文件游戏服务端不完整
💻 CPP
字号:
////////////////////////////////////////////////////////////////////////////////// Filename    : VariableBuffer.cpp// Written By  : // Description : ////////////////////////////////////////////////////////////////////////////////#include "VariableBuffer.h"#include "VariableInfo.h"#include "Utility.h"			// trim(), getline()////////////////////////////////////////////////////////////////////////////////// static constant variables////////////////////////////////////////////////////////////////////////////////const char VariableBuffer::Comment = '#';const char VariableBuffer::Separator = ',';const char VariableBuffer::EOL = '\n';const char * VariableBuffer::WhiteSpaces = " \t\n";const char * VariableBuffer::SpaceTab = " \t";	////////////////////////////////////////////////////////////////////////////////// constructor////////////////////////////////////////////////////////////////////////////////VariableBuffer::VariableBuffer (const string & buffer) 	throw (){	m_Buffer = buffer;	parse();}////////////////////////////////////////////////////////////////////////////////// destructor////////////////////////////////////////////////////////////////////////////////VariableBuffer::~VariableBuffer () 	throw (){	clear();}void VariableBuffer::clear(){	vector<VariableInfo*>::iterator itr = m_VariableInfos.begin();	for ( ; itr != m_VariableInfos.end(); itr++ )	{		SAFE_DELETE( *itr );	}	m_VariableInfos.clear();}void VariableBuffer::parse()	throw (Error){	__BEGIN_TRY	string subStr = trim( m_Buffer );	if ( subStr.size() == 0 )		return;	bool bEnd = false;	int index = 0;	uint i = 0;	do	{		uint j = subStr.find_first_of( Separator, i );		// separator 啊 绝促搁 付瘤阜 Variable 捞促.		if ( j == string::npos )		{			j = subStr.size();			bEnd = true;		}		string variable = trim(subStr.substr( i, j - i ));		VariableInfo* pVariableInfo = new VariableInfo( variable ); 				m_VariableInfos.push_back( pVariableInfo );		index++;		i = j + 1;	}	while ( !bEnd );	__END_CATCH}VariableInfo* VariableBuffer::getVariableInfo( int index )	throw( OutOfBoundException, Error ){	__BEGIN_TRY	if ( index < 0 || index >= (int)m_VariableInfos.size() )		throw OutOfBoundException("VariableBuffer::getVariableInfo() OOB!!");	return m_VariableInfos[index];	__END_CATCH}////////////////////////////////////////////////////////////////////////////////// get debug string////////////////////////////////////////////////////////////////////////////////string VariableBuffer::toString () const 	throw (){	__BEGIN_TRY	StringStream msg;	msg << "VariableBuffer(";	vector<VariableInfo*>::const_iterator itr = m_VariableInfos.begin();	for ( ; itr != m_VariableInfos.end(); itr++ )	{		msg << (*itr)->toString() << ",";	}	msg << ")";	return msg.toString();		__END_CATCH}

⌨️ 快捷键说明

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