Xalan-C++ API Reference 1.12.0
|
Defines a class to keep track of a stack for macro arguments. More...
#include <xalanc/XSLT/VariablesStack.hpp>
Classes | |
class | InvalidStackContextException |
struct | ParamsVectorEntry |
class | PushParamFunctor |
class | StackEntry |
Public Member Functions | |
VariablesStack (MemoryManager &theManager) | |
Constructor for a variable stack. | |
~VariablesStack () | |
void | reset () |
Reset the stack. | |
void | pushElementFrame (const ElemTemplateElement *elem) |
Push a frame marker for an element. | |
void | popElementFrame () |
Pop a frame marker for an element. | |
void | pushContextMarker () |
Push a context marker onto the stack to let us know when to stop searching for a var. | |
void | popContextMarker () |
Pop the current context from the current context stack. | |
void | pushParams (const ParamsVectorType &theParams) |
Push the provided objects as parameters. | |
const XObjectPtr | getParamVariable (const XalanQName &qname, StylesheetExecutionContext &executionContext, bool &fNameFound) |
Given a name, return a string representing the value, but don't look in the global space. | |
const XObjectPtr | getVariable (const XalanQName &qname, StylesheetExecutionContext &executionContext, bool &fNameFound) |
Given a name, find the corresponding XObject. | |
void | pushVariable (const XalanQName &name, const ElemVariable *var, const ElemTemplateElement *e) |
Push a named variable onto the processor variable stack. | |
void | pushVariable (const XalanQName &name, const XObjectPtr &val, const ElemTemplateElement *e) |
Push a named variable onto the processor variable stack. | |
void | start () |
Mark the top of the stack. | |
void | resetParams () |
Reset all params in the current stack frame. | |
void | markGlobalStackFrame () |
Mark the top of the global stack frame. | |
void | unmarkGlobalStackFrame () |
Clear the marking of the global stack frame. | |
void | setCurrentStackFrameIndex (size_type currentStackFrameIndex=~0u) |
Set the top of the stack frame from where a search for a variable or param should take place. | |
size_type | getCurrentStackFrameIndex () const |
Get the top of the stack frame from where a search for a variable or param should take place. | |
size_type | getGlobalStackFrameIndex () const |
Get the top of the global stack frame. | |
size_type | getStackSize () const |
Friends | |
class | CommitPushParams |
class | CommitPushElementFrame |
class | EnsurePop |
class | PushParamFunctor |
class | SetAndRestoreForceGlobalSearch |
Defines a class to keep track of a stack for macro arguments.
Definition at line 60 of file VariablesStack.hpp.
typedef XalanVector<const ElemTemplateElement*> xalanc::VariablesStack::ElemTemplateElementStackType |
Definition at line 148 of file VariablesStack.hpp.
Definition at line 146 of file VariablesStack.hpp.
Definition at line 147 of file VariablesStack.hpp.
Definition at line 64 of file VariablesStack.hpp.
Definition at line 481 of file VariablesStack.hpp.
Enumerator | |
---|---|
eDefaultStackSize |
Definition at line 489 of file VariablesStack.hpp.
|
explicit |
Constructor for a variable stack.
xalanc::VariablesStack::~VariablesStack | ( | ) |
|
inline |
Get the top of the stack frame from where a search for a variable or param should take place.
Definition at line 281 of file VariablesStack.hpp.
|
inline |
Get the top of the global stack frame.
Definition at line 292 of file VariablesStack.hpp.
|
inline |
Given a name, return a string representing the value, but don't look in the global space.
Since the variable may not yet have been evaluated, this may return a null XObjectPtr.
theName | name of variable |
exeuctionContext | the current execution context |
fNameFound | set to true if the name was found, false if not. |
Definition at line 170 of file VariablesStack.hpp.
|
inline |
Definition at line 484 of file VariablesStack.hpp.
|
inline |
Given a name, find the corresponding XObject.
If the variable exists, but has not yet been evaluated, the variable will be evaluated and the result returned. This may return a null XObjectPtr, if the variable was not found.
qname | name of variable |
exeuctionContext | the current execution context |
fNameFound | set to true if the name was found, false if not. |
Definition at line 190 of file VariablesStack.hpp.
void xalanc::VariablesStack::markGlobalStackFrame | ( | ) |
Mark the top of the global stack frame.
void xalanc::VariablesStack::popContextMarker | ( | ) |
Pop the current context from the current context stack.
void xalanc::VariablesStack::popElementFrame | ( | ) |
Pop a frame marker for an element.
elem | the element |
void xalanc::VariablesStack::pushContextMarker | ( | ) |
Push a context marker onto the stack to let us know when to stop searching for a var.
caller | caller node |
sourceNode | source node |
void xalanc::VariablesStack::pushElementFrame | ( | const ElemTemplateElement * | elem | ) |
Push a frame marker for an element.
elem | the element |
void xalanc::VariablesStack::pushParams | ( | const ParamsVectorType & | theParams | ) |
Push the provided objects as parameters.
You must call popContextMarker() when you are done with the arguments.
theParam | The vector containing the parameters. |
void xalanc::VariablesStack::pushVariable | ( | const XalanQName & | name, |
const ElemVariable * | var, | ||
const ElemTemplateElement * | e | ||
) |
Push a named variable onto the processor variable stack.
Don't forget to call startContext before pushing a series of arguments for a given template.
name | name of variable |
val | pointer to ElemVariable |
e | element marker for variable |
void xalanc::VariablesStack::pushVariable | ( | const XalanQName & | name, |
const XObjectPtr & | val, | ||
const ElemTemplateElement * | e | ||
) |
Push a named variable onto the processor variable stack.
Don't forget to call startContext before pushing a series of arguments for a given template.
name | name of variable |
val | pointer to XObject value |
e | element marker for variable |
void xalanc::VariablesStack::reset | ( | ) |
Reset the stack.
void xalanc::VariablesStack::resetParams | ( | ) |
Reset all params in the current stack frame.
|
inline |
Set the top of the stack frame from where a search for a variable or param should take place.
Calling with no parameter will cause the index to be set to the size of the stack.
currentStackFrameIndex | new value of index |
Definition at line 260 of file VariablesStack.hpp.
void xalanc::VariablesStack::start | ( | ) |
Mark the top of the stack.
void xalanc::VariablesStack::unmarkGlobalStackFrame | ( | ) |
Clear the marking of the global stack frame.
Definition at line 553 of file VariablesStack.hpp.
Definition at line 514 of file VariablesStack.hpp.
Definition at line 554 of file VariablesStack.hpp.
|
friend |
Definition at line 555 of file VariablesStack.hpp.
Definition at line 556 of file VariablesStack.hpp.
Copyright © 1999-2020 The Apache Software Foundation. All Rights Reserved.
Generated on Tue Oct 10 2023 15:42:14 for Xalan-C++ API Reference by