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


C++ symbol_table::find方法代码示例

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


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

示例1: find_typeTable

symbol* find_typeTable (const string* key) {
  auto found = typeTable.find(key);
  if (found == typeTable.end()){
    return NULL;
  } else {
    return found->second;
  }
}
开发者ID:zero14777,项目名称:My-Stuff,代码行数:8,代码来源:symboltable.cpp

示例2: grabStructSymbol

symbol* grabStructSymbol (const string* ident)
{
  auto table_check = typeTable.find(ident);
  if(table_check != typeTable.end())
    {
      return table_check->second;
    }
  fprintf(stderr, "oc: %s struct does not exist\n", ident->c_str());
  return NULL;
}
开发者ID:zero14777,项目名称:My-Stuff,代码行数:10,代码来源:symboltable.cpp

示例3: reset_patterns

void affineStatement::reset_patterns( const symbol_table& new_table )
{
	Datum * parent;
	AccessPattern * new_pat;
	symbol_table::const_iterator it;
	
	for ( int i = 0 ; i < Reads.size() ; i++ ) {
		parent = Reads[i]->get_parent();
		it = new_table.find(parent->get_name());
		new_pat = it->second.get_pattern(Reads[i]->get_id());
		Reads[i] = new_pat;
	}
	
	for ( int i = 0 ; i < Writes.size() ; i++ ) {
		parent = Writes[i]->get_parent();
		it = new_table.find(parent->get_name());
		new_pat = it->second.get_pattern(Writes[i]->get_id());
		Writes[i] = new_pat;
	}
}
开发者ID:8l,项目名称:rose,代码行数:20,代码来源:RosePollyModel.cpp

示例4: traverse_block_two

/** Traverse block and find name of symbol */
static string traverse_block_two(symbol_table mymap,string tname){
  // find in map
  symbol_table::iterator got = mymap.find (&tname);

  // if symbool found, return symbol
  if ( got != mymap.end() ) {
    string type = *(got->first);
    return type;
  }

  // otherwise, keep traversing
  return traverse_block_two(*got->second->fields,tname);
}
开发者ID:isayyuhh-s,项目名称:ucsc-cs,代码行数:14,代码来源:symtable.cpp

示例5: set_patterns

void Statement::set_patterns( symbol_table& data )
{
	SgExpression * exp = myStatement->get_expression();
	IO lhsIO;
	vector<AccessPattern*> patList;
	
	if ( !isSgBinaryOp(exp) ) {
		if ( isSgUnaryOp(exp) )
			search_for_access_patterns( isSgUnaryOp(exp)->get_operand(), patList, INOUT );
		else
			report_error("Unrecognized expression statement",exp);

	} else {
		lhsIO = ( isSgAssignOp(exp) ) ? OUT : INOUT;

		/* Left hand side */
		search_for_access_patterns( isSgBinaryOp(exp)->get_lhs_operand(), patList, lhsIO );
		
		/* Right hand side */
		search_for_access_patterns( isSgBinaryOp(exp)->get_rhs_operand(), patList, IN );
	}
	
	for ( int i = 0 ; i < patList.size() ; i++ ) { 
		
		int dim = patList[i]->get_dim();
		SgExpression * exp = patList[i]->get_refExp();
		
		for ( int j = 0 ; j < dim ; j++ )
			exp = isSgPntrArrRefExp(exp)->get_lhs_operand();
		
		string ap_name = isSgVarRefExp(exp)->get_symbol()->get_name().getString();
		
		symbol_table::iterator it = data.find(ap_name);
		it->second.add_pattern(patList[i]);
		add_pattern(patList[i]);
	}
}
开发者ID:8l,项目名称:rose,代码行数:37,代码来源:Nodes.cpp

示例6: lookup_string

 symbol_data lookup_string(const char * str, std::size_t length)
 {
     static symbol_table table;
     return table.find(str, length);
 }
开发者ID:8c6794b6,项目名称:supercollider,代码行数:5,代码来源:named_hash_entry.hpp


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