当前位置: 首页>>代码示例>>C++>>正文


C++ Tokenizer::hasMoreTokens方法代码示例

本文整理汇总了C++中Tokenizer::hasMoreTokens方法的典型用法代码示例。如果您正苦于以下问题:C++ Tokenizer::hasMoreTokens方法的具体用法?C++ Tokenizer::hasMoreTokens怎么用?C++ Tokenizer::hasMoreTokens使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Tokenizer的用法示例。


在下文中一共展示了Tokenizer::hasMoreTokens方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: makeFunction

void Mapping::makeFunction(string Id, string GmshCommandList, string EssiCommand) {

    Tokenizer str = Tokenizer(GmshCommandList,"|");
    while(str.hasMoreTokens()) {

        Semantics semantic = Semantics( str.nextToken(),EssiCommand);
        semantic.setElementId(Id);
        this->Function.insert(pair<string,Semantics> (semantic.getEssiTag(),semantic));
    }
}
开发者ID:jaabell,项目名称:gmESSI,代码行数:10,代码来源:Mapping.cpp

示例2: setMatchMode

void Semantics::setMatchMode(){

	Tokenizer tknzr = Tokenizer(this->ElementId,"-");
	this->ElementId = tknzr.nextToken();
	string str= tknzr.currToken();
	if(str.empty() || ((!isdigit(str[0])) && (str[0] != '-') && (str[0] != '+'))) this->MatchMode=false ;
   	char * p ;
   	strtol(str.c_str(), &p, 10) ;
   	this->MatchMode = (*p == 0) ;

   	while(tknzr.hasMoreTokens()){
   		this->SemanticsId = tknzr.nextToken();
   		break;
   	}
}
开发者ID:SumeetSinha,项目名称:gmESSI,代码行数:15,代码来源:Semantics.cpp

示例3: setEssiCommand

void Semantics::setEssiCommand(const string& Command){

	int nofTokens = 0;
	Tokenizer inpString = Tokenizer(Command," ") ;
	string Ecommand = "";
	string Fcommand = ""; // Filtered Command with spaces

	while( inpString.hasMoreTokens()){
		Fcommand = Fcommand + inpString.nextToken()+" ";
	}

	inpString.set(Fcommand,"{}");
	nofTokens = inpString.countTokens()-1;

	string prevTag = "variable";

	while(inpString.hasMoreTokens() && nofTokens-->0){

		string variable;
		Tokenizer Var = Tokenizer(inpString.nextToken(),"#()= ,");

		if(!(inpString.currToken()).compare(";")) break;                        // Termination Condition with ";"
		if((inpString.currToken()).back()=='\\'){							   // Escape sequence "\\"
			Ecommand = Ecommand + inpString.currToken().substr(0,inpString.currToken().length()-1) +Fcommand.substr(inpString.currIndex()-1,1);
			continue;					   
		}

		Ecommand = Ecommand + inpString.currToken() + "$";

		Var.setMode(1);
		Var.setcurrPos(inpString.currToken().length()-1);
		string currTag = (Var.nextToken());

		if (currTag.length()<=1)
			variable = prevTag; 		
		else{
			variable = currTag;
			prevTag= currTag;
		}

		set<string>::iterator it = this->EssiTagList.find(variable);
		if (it != this->EssiTagList.end()) {

			map<string,int>::iterator it = this->TagList.find(variable);

			if (it != this->TagList.end()){
				it->second=it->second+1;
				variable = variable + "#" +to_string(it->second);
			}
			else{
				this->TagList.insert(pair<string,int>(variable,1));
				variable = variable + "#1";
			}

			this->NofTagVariables++;
		}

		this->VarList.push_back(variable);
		this->EssiVarList.push_back(variable);
		// inpString.setDelimiter("{}#()=");
	}

	Ecommand = Ecommand+inpString.nextToken();

	this->EssiCommand = Ecommand;

	this->NofEssiVariables = this->VarList.size();
}
开发者ID:SumeetSinha,项目名称:gmESSI,代码行数:68,代码来源:Semantics.cpp


注:本文中的Tokenizer::hasMoreTokens方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。