76 "It makes no sense to sort a single node.");
82 else if(nodes.first().isAtomicValue())
129 return visitor->visit(
this);
virtual ExpressionVisitorResult::Ptr accept(const ExpressionVisitor::Ptr &visitor) const
#define QT_END_NAMESPACE
This macro expands to.
DocumentOrder compareOrder(const QXmlNodeModelIndex &other) const
static const SequenceType::Ptr ZeroOrMoreItems
NodeSortExpression(const Expression::Ptr &operand)
QAbstractXmlForwardIterator< T >::Ptr makeListIterator(const QList< T > &list)
bool isNode() const
Determines whether this item is an atomic value, or a node.
virtual Item::Iterator::Ptr evaluateSequence(const DynamicContext::Ptr &context) const
static const EmptyIterator< Item >::Ptr emptyIterator
virtual SequenceType::Ptr staticType() const
virtual Expression::Ptr compress(const StaticContext::Ptr &context)
QExplicitlySharedDataPointer< QAbstractXmlForwardIterator< Item > > Ptr
A smart pointer wrapping an instance of a QAbstractXmlForwardIterator subclass.
void append(const T &t)
Inserts value at the end of the list.
T * data() const
Returns a pointer to the shared data object.
virtual SequenceType::List expectedOperandTypes() const
#define QT_BEGIN_NAMESPACE
This macro expands to.
virtual Expression::Ptr compress(const StaticContext::Ptr &context)
static void sort(T *array, int count, LessThan lessThan)
virtual Properties properties() const
The namespace for the internal API of QtXmlPatterns.
Performs deduplication of the nodes on its source list.
virtual Cardinality cardinality() const =0
const QAbstractXmlNodeModel * model() const
Returns the QAbstractXmlNodeModel that this node index refers to.
void qSort(RandomAccessIterator start, RandomAccessIterator end)
virtual SequenceType::Ptr staticType() const =0
#define Q_ASSERT_X(cond, where, what)
static bool lessThanUsingNodeModel(const Item &n1, const Item &n2)
const QXmlNodeModelIndex & asNode() const
Represents an item in the XPath 2.0 Data Model.
Expression::Ptr m_operand
The QFlags class provides a type-safe way of storing OR-combinations of enum values.
void wrapExpressionWith(const SourceLocationReflection *const existingNode, const QExplicitlySharedDataPointer< Expression > &newNode)
Ensures source locations are handled in such a manner that existingNode wraps newNode.
static Expression::Ptr wrapAround(const Expression::Ptr &operand, const StaticContext::Ptr &context)
virtual Item::Iterator::Ptr evaluateSequence(const DynamicContext::Ptr &context) const
Base class for expressions that has exactly one operand.