16 #if !defined(XALAN_NODESORTER_HEADER_GUARD)
17 #define XALAN_NODESORTER_HEADER_GUARD
46 XALAN_CPP_NAMESPACE_BEGIN
76 unsigned int thePosition = 0) :
78 m_position(thePosition)
94 NodeSortKeyVectorType&
115 #if defined(XALAN_NO_STD_NAMESPACE)
116 struct XALAN_XSLT_EXPORT NodeSortKeyCompare :
public binary_function<const NodeVectorType::value_type&, const NodeVectorType::value_type&, bool>
132 NodeSorter& theSorter,
133 const NodeVectorType& theNodes,
134 const NodeSortKeyVectorType& theNodeSortKeys) :
135 m_executionContext(executionContext),
138 m_nodeSortKeys(theNodeSortKeys)
153 first_argument_type theLHS,
154 second_argument_type theRHS,
155 unsigned int theKeyIndex = 0)
const;
167 first_argument_type theLHS,
168 second_argument_type theRHS,
169 unsigned int theKeyIndex = 0)
const
171 return compare(theLHS, theRHS, theKeyIndex) < 0 ?
true :
false;
179 unsigned int theKeyIndex,
180 first_argument_type theEntry)
const;
185 unsigned int theKeyIndex,
186 first_argument_type theEntry)
const;
191 NodeSorter& m_sorter;
192 const NodeVectorType& m_nodes;
193 const NodeSortKeyVectorType& m_nodeSortKeys;
208 #if defined(XALAN_NODESORTER_CACHE_XOBJECTS)
226 NumberResultsCacheType m_numberResultsCache;
228 StringResultsCacheType m_stringResultsCache;
230 NodeSortKeyVectorType m_keys;
232 NodeVectorType m_scratchVector;
237 XALAN_CPP_NAMESPACE_END
241 #endif // XALAN_NODESORTER_HEADER_GUARD
Definition: XalanNode.hpp:44
XalanVector< XObjectPtr > XObjectVectorType
Definition: NodeSorter.hpp:199
Definition: NodeSorter.hpp:70
Local implementation of MutableNodeRefList.
Definition: MutableNodeRefList.hpp:44
NumberCacheType NumberResultsCacheType
Definition: NodeSorter.hpp:206
XALAN_CPP_NAMESPACE_BEGIN typedef XERCES_CPP_NAMESPACE_QUALIFIER MemoryManager MemoryManagerType
Definition: XalanMemoryManagement.hpp:39
XalanVector< NodeSortKey > NodeSortKeyVectorType
Definition: NodeSorter.hpp:87
result_type operator()(first_argument_type theLHS, second_argument_type theRHS, unsigned int theKeyIndex=0) const
Compare two nodes as a less predicate.
Definition: NodeSorter.hpp:166
double getNumberResult(const NodeSortKey &theKey, unsigned int theKeyIndex, first_argument_type theEntry) const
XalanNode * m_node
Definition: NodeSorter.hpp:82
Definition: StylesheetExecutionContext.hpp:104
StringVectorTypeDecl StringVectorType
Definition: NodeSorter.hpp:200
Return the results of a compare of two nodes.
Definition: NodeSorter.hpp:118
StringCacheType StringResultsCacheType
Definition: NodeSorter.hpp:211
XalanVector< StringVectorType > StringCacheType
Definition: NodeSorter.hpp:204
int compare(first_argument_type theLHS, second_argument_type theRHS, unsigned int theKeyIndex=0) const
Compare two nodes, returning a value to indicate the result.
Simple data structure class for use by the NodeSorter class.
Definition: NodeSortKey.hpp:55
XalanVector< XObjectVectorType > XObjectCacheType
Definition: NodeSorter.hpp:203
#define XALAN_USES_MEMORY_MANAGER(Type)
Definition: XalanMemoryManagement.hpp:468
#define XALAN_XSLT_EXPORT
Definition: XSLTDefinitions.hpp:25
const XalanDOMString & getStringResult(const NodeSortKey &theKey, unsigned int theKeyIndex, first_argument_type theEntry) const
Definition: XalanDOMString.hpp:42
unsigned int m_position
Definition: NodeSorter.hpp:83
XalanVector< NumberVectorType > NumberCacheType
Definition: NodeSorter.hpp:202
NumberVectorTypeDecl NumberVectorType
Definition: NodeSorter.hpp:198
NodeSortKeyCompare(StylesheetExecutionContext &executionContext, NodeSorter &theSorter, const NodeVectorType &theNodes, const NodeSortKeyVectorType &theNodeSortKeys)
Construct a NodeSortKeyCompare object, to perform the sort.
Definition: NodeSorter.hpp:130
NodeSortKeyVectorType & getSortKeys()
Definition: NodeSorter.hpp:95
This class can sort vectors of nodes according to a select pattern.
Definition: NodeSorter.hpp:66
XalanVector< double > NumberVectorTypeDecl
Definition: NodeSorter.hpp:53
VectorEntry(XalanNode *theNode=0, unsigned int thePosition=0)
Definition: NodeSorter.hpp:74
XalanVector< VectorEntry > NodeVectorType
Definition: NodeSorter.hpp:86