18#if !defined(XALAN_NODESORTER_HEADER_GUARD)
19#define XALAN_NODESORTER_HEADER_GUARD
46class MutableNodeRefList;
47class StylesheetExecutionContext;
200#if defined(XALAN_NODESORTER_CACHE_XOBJECTS)
#define XALAN_XSLT_EXPORT
#define XALAN_USES_MEMORY_MANAGER(Type)
#define XALAN_CPP_NAMESPACE
Xalan-C++ namespace, including major and minor version.
Local implementation of MutableNodeRefList.
Simple data structure class for use by the NodeSorter class.
This class can sort vectors of nodes according to a select pattern.
XalanVector< VectorEntry > NodeVectorType
NumberVectorTypeDecl NumberVectorType
NodeSorter(MemoryManager &theManager)
XalanVector< NodeSortKey > NodeSortKeyVectorType
void sort(StylesheetExecutionContext &executionContext, MutableNodeRefList &theList)
Given a list of nodes, sort each node according to the criteria in the keys.
XalanVector< StringVectorType > StringCacheType
NodeSortKeyVectorType & getSortKeys()
XalanVector< XObjectVectorType > XObjectCacheType
NumberCacheType NumberResultsCacheType
StringVectorTypeDecl StringVectorType
StringCacheType StringResultsCacheType
XalanVector< NumberVectorType > NumberCacheType
XalanVector< XObjectPtr > XObjectVectorType
compare(const CharVectorType &theLHS, const CharVectorType &theRHS)
Compare the contents of two strings.
Return the results of a compare of two nodes.
int compare(const NodeVectorType::value_type &theLHS, const NodeVectorType::value_type &theRHS, XalanSize_t theKeyIndex=0) const
Compare two nodes, returning a value to indicate the result.
NodeSortKeyCompare(StylesheetExecutionContext &executionContext, NodeSorter &theSorter, const NodeVectorType &theNodes, const NodeSortKeyVectorType &theNodeSortKeys)
Construct a NodeSortKeyCompare object, to perform the sort.
double getNumberResult(const NodeSortKey &theKey, XalanSize_t theKeyIndex, const NodeVectorType::value_type &theEntry) const
bool operator()(const NodeVectorType::value_type &theLHS, const NodeVectorType::value_type &theRHS, XalanSize_t theKeyIndex=0) const
Compare two nodes as a less predicate.
const XalanDOMString & getStringResult(const NodeSortKey &theKey, XalanSize_t theKeyIndex, const NodeVectorType::value_type &theEntry) const
VectorEntry(XalanNode *theNode=0, XalanSize_t thePosition=0)