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


C++ StringTable::insert方法代码示例

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


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

示例1: addSymbol

void LibOMF::addSymbol(ObjModule *om, const char *name, int pickAny)
{
#if LOG
    printf("LibOMF::addSymbol(%s, %s, %d)\n", om->name, name, pickAny);
#endif
    StringValue *s = tab.insert(name, strlen(name));
    if (!s)
    {   // already in table
        if (!pickAny)
        {   s = tab.lookup(name, strlen(name));
            assert(s);
            ObjSymbol *os = (ObjSymbol *)s->ptrvalue;
            error("multiple definition of %s: %s and %s: %s",
                om->name, name, os->om->name, os->name);
        }
    }
    else
    {
        ObjSymbol *os = new ObjSymbol();
        os->name = strdup(name);
        os->om = om;
        s->ptrvalue = (void *)os;

        objsymbols.push(os);
    }
}
开发者ID:WebDrake,项目名称:dmd,代码行数:26,代码来源:libomf.c

示例2: initTraitsStringTable

void initTraitsStringTable()
{
    traitsStringTable._init();

    for (size_t idx = 0; ; idx++)
    {
        const char *s = traits[idx];
        if (!s) break;
        StringValue *sv = traitsStringTable.insert(s, strlen(s));
        sv->ptrvalue = (void *)traits[idx];
    }
}
开发者ID:damianday,项目名称:dmd,代码行数:12,代码来源:traits.c

示例3: StringID

//---------------------------------------------------------------------------
unsigned int StringID( const std::string& stringValue )
{
	std::string value( stringValue );
	ToLower( value );
	StringTable::iterator iter = s_theStringTable.find( value );
	if ( iter != s_theStringTable.end() )
	{
		return iter->second.m_id;
	}
	else
	{
		StringTableEntry newEntry;
		newEntry.m_id = s_nextStringID;
		newEntry.m_originalString = stringValue;
		s_theStringTable.insert( std::make_pair( value, newEntry ) );
		++ s_nextStringID;
		return newEntry.m_id;
	}
}
开发者ID:slajar,项目名称:BeatDetection,代码行数:20,代码来源:StringTable.cpp


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