18#if !defined(XALAN_COUNTERSTABLE_HEADER_GUARD_1357924680)
19#define XALAN_COUNTERSTABLE_HEADER_GUARD_1357924680
42class StylesheetExecutionContext;
88 MemoryManager& theManager,
172 unsigned long theSize = 0) :
173 m_countersVector(theManager),
174 m_newFound(theManager)
193 m_countersVector.resize(theSize);
219 m_countersVector.clear();
230 ElemCounterVectorVectorType m_countersVector;
236 NodeVectorType m_newFound;
#define XALAN_CPP_NAMESPACE
#define XALAN_USES_MEMORY_MANAGER(Type)
<meta name="usage" content="internal"> This is a table of counters, keyed by ElemNumber objects,...
CounterVectorTypeDecl CounterVectorType
void resize(unsigned long theSize)
Resize the table.
void reset()
Clear all cached data from the table.
CountType countNode(StylesheetExecutionContext &executionContext, const ElemNumber &numberElem, XalanNode *node)
Count forward until the given node is found, or until we have looked to the given amount.
ElemCounterVectorVectorTypeDecl ElemCounterVectorVectorType
Counter::NodeVectorType NodeVectorType
CountersTable(MemoryManager &theManager, unsigned long theSize=0)
Construct a CountersTable.
Counter::CountType CountType
XalanVector< CounterVectorTypeDecl > ElemCounterVectorVectorTypeDecl
XalanVector< Counter > CounterVectorTypeDecl
<meta name="usage" content="internal"> A class that does incremental counting for support of xsl:numb...
const XalanNode * m_fromNode
The node from where the counting starts.
XalanNode * getLast() const
Get the last node in the list.
Counter(MemoryManager &theManager, const ElemNumber *numberElem=0)
Construct a counter object.
CountType m_countNodesStartCount
The start count from where m_countNodes counts from.
NodeVectorType m_countNodes
A vector of all nodes counted so far.
Counter(MemoryManager &theManager, const ElemNumber *numberElem, NodeVectorType &countNodes)
Construct a counter object.
XalanVector< XalanNode * > NodeVectorType
const ElemNumber * m_numberElem
The owning xsl:number element.
CountType getPreviouslyCounted(StylesheetExecutionContext &support, const XalanNode *node) const
Try to find a node that was previously counted.
Counter(const Counter &other, MemoryManager &theManager)