本文整理汇总了C++中staticcontext::Ptr::warning方法的典型用法代码示例。如果您正苦于以下问题:C++ Ptr::warning方法的具体用法?C++ Ptr::warning怎么用?C++ Ptr::warning使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类staticcontext::Ptr
的用法示例。
在下文中一共展示了Ptr::warning方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: promotionPossible
bool TypeChecker::promotionPossible(const ItemType::Ptr &fromType,
const ItemType::Ptr &toType,
const StaticContext::Ptr &context)
{
/* These types can be promoted to xs:string. xs:untypedAtomic should be
* cast when interpreting it formally, but implementing it as a promotion
* gives the same result(and is faster). */
if(*toType == *BuiltinTypes::xsString &&
(BuiltinTypes::xsUntypedAtomic->xdtTypeMatches(fromType) ||
BuiltinTypes::xsAnyURI->xdtTypeMatches(fromType)))
return true;
if(*toType == *BuiltinTypes::xsDouble &&
BuiltinTypes::numeric->xdtTypeMatches(fromType))
{
/* Any numeric can be promoted to xs:double. */
return true;
}
/* xs:decimal/xs:integer can be promoted to xs:float. */
if(*toType == *BuiltinTypes::xsFloat && BuiltinTypes::xsDecimal->xdtTypeMatches(fromType))
{
context->warning(QtXmlPatterns::tr("Promoting %1 to %2 may cause loss of precision.")
.arg(formatType(context->namePool(), fromType))
.arg(formatType(context->namePool(), BuiltinTypes::xsFloat)));
return true;
}
return false;
}