本文整理汇总了C++中expression::Ptr::setOperands方法的典型用法代码示例。如果您正苦于以下问题:C++ Ptr::setOperands方法的具体用法?C++ Ptr::setOperands怎么用?C++ Ptr::setOperands使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类expression::Ptr
的用法示例。
在下文中一共展示了Ptr::setOperands方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Ptr
Expression::Ptr XSLT20CoreFunctions::retrieveExpression(const QXmlName lname,
const Expression::List &args,
const FunctionSignature::Ptr &sign) const
{
Q_ASSERT(sign);
Expression::Ptr fn;
#define testXSLTFN(ln, cname) else if(lname.localName() == StandardLocalNames::ln) fn = Expression::Ptr(new cname())
if(false) /* Dummy for the macro handling. Will be optimized away anyway. */
return Expression::Ptr();
/* Alphabetic order. */
testXSLTFN(current, CurrentFN);
testXSLTFN(document, DocumentFN);
testXSLTFN(element_available, ElementAvailableFN);
testXSLTFN(function_available, FunctionAvailableFN);
testXSLTFN(generate_id, GenerateIDFN);
testXSLTFN(system_property, SystemPropertyFN);
testXSLTFN(type_available, TypeAvailableFN);
testXSLTFN(unparsed_entity_public_id, UnparsedEntityPublicIDFN);
testXSLTFN(unparsed_entity_uri, UnparsedEntityURIFN);
testXSLTFN(unparsed_text_available, UnparsedTextAvailableFN);
testXSLTFN(unparsed_text, UnparsedTextFN);
#undef testXSLTFN
Q_ASSERT(fn);
fn->setOperands(args);
fn->as<FunctionCall>()->setSignature(sign);
return fn;
}
示例2: Ptr
Expression::Ptr XPath10CoreFunctions::retrieveExpression(const QXmlName name,
const Expression::List &args,
const FunctionSignature::Ptr &sign) const
{
Q_ASSERT(sign);
/*
if(name.namespaceURI() == StandardNamespaces::fn)
return Expression::Ptr();
*/
Expression::Ptr fn;
#define testFN(ln, cname) else if(name.localName() == StandardLocalNames::ln) fn = Expression::Ptr(new cname())
if(false) /* Dummy for the macro handling. Will be optimized away anyway. */
return Expression::Ptr();
/* Alphabetic order. */
testFN(boolean, BooleanFN);
testFN(ceiling, CeilingFN);
testFN(concat, ConcatFN);
testFN(contains, ContainsFN);
testFN(count, CountFN);
testFN(False, FalseFN);
testFN(floor, FloorFN);
testFN(id, IdFN);
testFN(lang, LangFN);
testFN(last, LastFN);
testFN(local_name, LocalNameFN);
testFN(name, NameFN);
testFN(namespace_uri, NamespaceURIFN);
testFN(normalize_space, NormalizeSpaceFN);
testFN(Not, NotFN);
testFN(number, NumberFN);
testFN(position, PositionFN);
testFN(round, RoundFN);
testFN(starts_with, StartsWithFN);
testFN(string, StringFN);
testFN(string_length, StringLengthFN);
testFN(substring, SubstringFN);
testFN(substring_after, SubstringAfterFN);
testFN(substring_before, SubstringBeforeFN);
testFN(sum, SumFN);
testFN(translate, TranslateFN);
testFN(True, TrueFN);
#undef testFN
Q_ASSERT(fn);
fn->setOperands(args);
fn->as<FunctionCall>()->setSignature(sign);
return fn;
}
示例3: Ptr
Expression::Ptr XSLT10CoreFunctions::retrieveExpression(const QXmlName lname,
const Expression::List &args,
const FunctionSignature::Ptr &sign) const
{
Q_ASSERT(sign);
Expression::Ptr fn;
#define testXSLTFN(ln, cname) else if(lname.localName() == StandardLocalNames::ln) fn = Expression::Ptr(new cname())
if(false) /* Dummy for the macro handling. Will be optimized away anyway. */
return Expression::Ptr();
/* Alphabetic order. */
testXSLTFN(function_available, FunctionAvailableFN);
testXSLTFN(system_property, SystemPropertyFN);
#undef testXSLTFN
Q_ASSERT(fn);
fn->setOperands(args);
fn->as<FunctionCall>()->setSignature(sign);
return fn;
}