Example #1
0
bool StringParser::TryParseUInt(const StringRef& str, ulong& outResult)
{
	if (str.Contains("x") || str.Contains("X"))
	{
		return str.TryParseUInt(outResult, 16);
	}
	return str.TryParseUInt(outResult);
}
Example #2
0
ulong StringParser::ToUInt(const StringRef& str)
{
	if (str.Contains("x") || str.Contains("X"))
	{
		return StringParser::StringTo<ulong>(str, 16);
	}
	return StringParser::StringTo<ulong>(str, 10);
}
Example #3
0
PublishTarget PublishTarget::Parse(StringRef fileName)
{
	if (!fileName.Contains('-'))
	{
		return MatchAll;
	}

	HeapString rawName = Path::GetFileNameWithoutExtension(fileName);
	rawName.RemoveBeginExclude('-');
	if (rawName.IsEmpty())
	{
		return MatchAll;
	}


	List<HeapString> outResults;
	StringParser::Split<char>(rawName, "-", outResults);
	if (outResults.IsEmpty())
	{
		return MatchAll;
	}

	int resultTag = 0;
	FOR_EACH_COLLECTION(i, outResults)
	{
		const HeapString& str = *i;
		int* tempTag = mTagDict.TryGetValue(str);
		if (tempTag != nullptr)
		{
			resultTag |= *tempTag;
		}
		else if (!StdString::IsDigit(str.c_str()))
		{
			Log::FormatError("Invalid tag:{}", str.c_str());
		}
	}

	PublishTarget tag = PublishTarget(resultTag);
	if (tag.Version == PublishVersions::None)
	{
		tag.Version = PublishVersions::All;
	}

	if (tag.Device == PublishDevices::None)
	{
		tag.Device = PublishDevices::All;
	}

	if (tag.Language == PublishLanguages::None)
	{
		tag.Language = PublishLanguages::All;
	}

	return tag;
}
Example #4
0
bool WinEGLView::IsEGLExtensionSupported(StringRef extension)
{
	StringRef extensions = eglQueryString(mEGLDisplay, EGL_EXTENSIONS);
	return extensions.Contains(extension);
}