本文整理汇总了C++中rocket::core::StringList::begin方法的典型用法代码示例。如果您正苦于以下问题:C++ StringList::begin方法的具体用法?C++ StringList::begin怎么用?C++ StringList::begin使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类rocket::core::StringList
的用法示例。
在下文中一共展示了StringList::begin方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: GetRow
/// Fetches the contents of one row of a table within the data source.
/// @param[out] row The list of values in the table.
/// @param[in] table The name of the table to query.
/// @param[in] row_index The index of the desired row.
/// @param[in] columns The list of desired columns within the row.
void LuaDataSource::GetRow(Rocket::Core::StringList& row, const Rocket::Core::String& table, int row_index, const Rocket::Core::StringList& columns)
{
if(getRowRef == LUA_NOREF || getRowRef == LUA_REFNIL) return;
//setup the call
Interpreter::BeginCall(getRowRef);
lua_State* L = Interpreter::GetLuaState();
lua_pushstring(L,table.CString());
lua_pushinteger(L,row_index);
lua_newtable(L);
int index = 0;
for(Rocket::Core::StringList::const_iterator itr = columns.begin(); itr != columns.end(); ++itr)
{
lua_pushstring(L,itr->CString());
lua_rawseti(L,-2,index++);
}
Interpreter::ExecuteCall(3,1); //3 parameters, 1 return. After here, the top of the stack contains the return value
int res = lua_gettop(L);
if(lua_type(L,res) == LUA_TTABLE)
{
lua_pushnil(L);
while(lua_next(L,res) != 0)
{
//key at -2, value at -1
row.push_back(luaL_checkstring(L,-1));
lua_pop(L,1); //pops value, leaves key for next iteration
}
lua_pop(L,1); //pop key
}
else
Log::Message(Log::LT_WARNING, "Lua: DataSource.GetRow must return a table, the function it called returned a %s", lua_typename(L,res));
Interpreter::EndCall(1);
}
示例2: GetRow
void GameTypesDataSource::GetRow( Rocket::Core::StringList &row, const Rocket::Core::String&, int row_index, const Rocket::Core::StringList& cols ) {
if( row_index < 0 || (size_t)row_index >= gameTypes.size() ) {
return;
}
for( Rocket::Core::StringList::const_iterator it = cols.begin();
it != cols.end();
++it ) {
if( *it == "name" ) {
row.push_back( gameTypes[row_index].name.c_str() );
} else if( *it == "title" ) {
row.push_back( gameTypes[row_index].title.c_str() );
} else if( *it == "description" ) {
row.push_back( gameTypes[row_index].description.c_str() );
} else {
row.push_back( "" );
}
}
}