Beispiel #1
0
bool PConvert::get_map_integer( MapString &map, const std::string &key , int &val )
{
	MapString::iterator it = map.find( key ) ;
	if ( it == map.end() ) {
		return false ;
	}
	val = atoi( it->second.c_str() ) ;
	return true ;
}
Beispiel #2
0
cppcms::json::value JsonUtils::getJsonElements(MapString& paramsMap)
{
  cppcms::json::value params;
  for(MapString::iterator p = paramsMap.begin(); p != paramsMap.end(); p++)
  {
    params.at(p->first, p->second);
  }
  return params;
}
Beispiel #3
0
bool PConvert::get_map_string( MapString &map, const std::string &key , std::string &val )
{
	MapString::iterator it = map.find( key ) ;
	if ( it == map.end() ) {
		return false ;
	}
	val = it->second ;
	return true ;
}
Beispiel #4
0
cppcms::json::value JsonUtils::getJsonElement(std::string tag, MapString& paramsMap)
{
  cppcms::json::value element;
  cppcms::json::value params;
  for(MapString::iterator p = paramsMap.begin(); p != paramsMap.end(); p++)
  {
    params.at(p->first, p->second);
  }
  element.at("tag", tag);
  element.at("params", params);
  return element;
}
Beispiel #5
0
	std::string replaceTags(const std::string& _data)
	{
		// вот хз, что быстрее, итераторы или математика указателей,
		// дл¤ непон¤тно какого размера одного символа UTF8
		std::string line(_data);

		std::string::iterator end = line.end();
		for (std::string::iterator iter=line.begin(); iter!=end; )
		{
			if (*iter == '#')
			{
				++iter;
				if (iter == end)
				{
					return line;
				}
				else
				{
					if (*iter != '{')
					{
						++iter;
						continue;
					}
					std::string::iterator iter2 = iter;
					++iter2;
					while (true)
					{
						if (iter2 == end) 
						{
							return line;
						}
						if (*iter2 == '}')
						{
							size_t start = iter - line.begin();
							size_t len = (iter2 - line.begin()) - start - 1;
							const std::string & tag = line.substr(start + 1, len);

							MapString::iterator replace = mUserMapLanguage.find(tag);
							replace != mUserMapLanguage.end();

							iter = line.erase(iter - size_t(1), iter2 + size_t(1));
							size_t pos = iter - line.begin();
							if (replace != mUserMapLanguage.end())
							{
								line.insert(pos, replace->second);
								iter = line.begin() + pos + replace->second.length();
							}
							end = line.end();
							if (iter == end) 
							{
								return line;
							}
							break;
						}
						++iter2;
					};
				}
			}
			else
			{
				++iter;
			}
		}

		return line;
	}