18#if !defined(XALAN_COUNTERSTABLE_HEADER_GUARD_1357924680)
19#define XALAN_COUNTERSTABLE_HEADER_GUARD_1357924680
42class StylesheetExecutionContext;
91 m_countNodesStartCount(0),
102 m_countNodesStartCount(0),
110 m_countNodesStartCount(
other.m_countNodesStartCount),
112 m_fromNode(
other.m_fromNode),
113 m_numberElem(
other.m_numberElem)
134 return m_countNodes.
empty() ==
true ? 0 : m_countNodes.
back();
193 m_countersVector.resize(
theSize);
219 m_countersVector.clear();
230 ElemCounterVectorVectorType m_countersVector;
236 NodeVectorType m_newFound;
#define XALAN_USES_MEMORY_MANAGER(Type)
#define XALAN_CPP_NAMESPACE
Xalan-C++ namespace, including major and minor version.
<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
<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)