60 m_positionSlot(positionSlot),
95 return makeSequenceMappingIterator<Item>(
ConstPtr(
this),
101 return makeItemMappingIterator<Item>(
ConstPtr(
this),
119 Item next(source->next());
125 next = source->next();
171 return makeGenericSequenceType(returnType->itemType(),
174 returnType->cardinality());
187 return visitor->visit(
this);
const VariableSlotID m_positionSlot
#define QT_END_NAMESPACE
This macro expands to.
static const SequenceType::Ptr ZeroOrMoreItems
#define it(className, varName)
const VariableSlotID m_varSlot
virtual Expression::Ptr typeCheck(const StaticContext::Ptr &context, const SequenceType::Ptr &reqType)
static Expression::Ptr create(const Expression *const replacementFor, const StaticContext::Ptr &context)
Creates an EmptySequence that is a replacement for replacementFor.
virtual void setPositionIterator(const VariableSlotID slot, const Item::Iterator::Ptr &newValue)=0
virtual Expression::Ptr compress(const StaticContext::Ptr &context)
virtual Item evaluateSingleton(const DynamicContext::Ptr &context) const
void append(const T &t)
Inserts value at the end of the list.
#define QT_BEGIN_NAMESPACE
This macro expands to.
virtual ExpressionVisitorResult::Ptr accept(const ExpressionVisitor::Ptr &visitor) const
virtual SequenceType::Ptr staticType() const
The namespace for the internal API of QtXmlPatterns.
virtual Cardinality cardinality() const =0
virtual QList< QExplicitlySharedDataPointer< OptimizationPass > > optimizationPasses() const
virtual SequenceType::List expectedOperandTypes() const
virtual void setRangeVariable(const VariableSlotID slot, const Item &newValue)=0
Item mapToItem(const Item &item, const DynamicContext::Ptr &context) const
virtual void evaluateToSequenceReceiver(const DynamicContext::Ptr &context) const
virtual Item::Iterator::Ptr evaluateSequence(const DynamicContext::Ptr &context) const
virtual SequenceType::Ptr staticType() const =0
Represents an item in the XPath 2.0 Data Model.
QExplicitlySharedDataPointer< const ForClause > ConstPtr
ForClause(const VariableSlotID varSlot, const Expression::Ptr &bindingSequence, const Expression::Ptr &returnExpression, const VariableSlotID positionSlot)
Expression::Ptr m_operand1
virtual Expression::Ptr typeCheck(const StaticContext::Ptr &context, const SequenceType::Ptr &reqType)
Represents a cardinality, a possible , often represented by occurrence indicators.
Expression::Ptr m_operand2
void riggPositionalVariable(const DynamicContext::Ptr &context, const Item::Iterator::Ptr &source) const
OptimizationPass::List forPasses
virtual void evaluateToSequenceReceiver(const DynamicContext::Ptr &context) const
virtual Expression::Ptr compress(const StaticContext::Ptr &context)
virtual Item evaluateSingleton(const DynamicContext::Ptr &context) const
The QList class is a template class that provides lists.
virtual Item::Iterator::Ptr evaluateSequence(const DynamicContext::Ptr &context) const
Base class for expressions that has exactly two operands.
Item::Iterator::Ptr mapToSequence(const Item &item, const DynamicContext::Ptr &context) const