<HTML><HEAD><TITLE>Xalan-C++ API Documentation</TITLE></HEAD>
<BODY>
<h2 align="center">Xalan-C++ API Documentation</h2>
<h3 align="center">The Xalan C++ XSLT Processor Version 1.10</h3>
</BODY>
<!-- Generated by Doxygen 1.2.8.1 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
<hr><h1>FunctionCurrent  Class Reference</h1><code>#include &lt;<a class="el" href="FunctionCurrent_8hpp-source.html">FunctionCurrent.hpp</a>&gt;</code>
<p>
Inheritance diagram for FunctionCurrent:<p><center><img src="classFunctionCurrent__inherit__graph.gif" border="0" usemap="#FunctionCurrent_inherit_map" alt="Inheritance graph"></center>
<map name="FunctionCurrent_inherit_map">
<area href="classFunction.html" shape="rect" coords="29,42,96,18">
</map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center>Collaboration diagram for FunctionCurrent:<p><center><img src="classFunctionCurrent__coll__graph.gif" border="0" usemap="#FunctionCurrent_coll_map" alt="Collaboration graph"></center>
<map name="FunctionCurrent_coll_map">
<area href="classFunction.html" shape="rect" coords="29,42,96,18">
</map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center><a href="classFunctionCurrent-members.html">List of all members.</a><h2>Public Types</h2>
<ul>
<li>typedef <a class="el" href="classFunction.html">Function</a> <a class="el" href="classFunctionCurrent.html#s0">ParentType</a>
</ul>
<h2>Public Methods</h2>
<ul>
<li><a class="el" href="classFunctionCurrent.html#a0">FunctionCurrent</a> ()
<li>virtual <a class="el" href="classFunctionCurrent.html#a1">~FunctionCurrent</a> ()
<li>virtual <a class="el" href="classXObjectPtr.html">XObjectPtr</a> <a class="el" href="classFunctionCurrent.html#a2">execute</a> (<a class="el" href="classXPathExecutionContext.html">XPathExecutionContext</a> &amp;executionContext, <a class="el" href="classXalanNode.html">XalanNode</a> *context, const <a class="el" href="classFunction.html#s0">LocatorType</a> *locator) const
<dl class="el"><dd><font size=-1><em>Execute an <a class="el" href="classXPath.html">XPath</a> function object.</em> <a href="#a2">More...</a><em><br><br></em></font></dl><li>virtual FunctionCurrent* <a class="el" href="classFunctionCurrent.html#a3">clone</a> (<a class="el" href="XalanMemoryManagement_8hpp.html#a5">MemoryManagerType</a> &amp;theManager) const
<dl class="el"><dd><font size=-1><em>Create a copy of the function object.</em> <a href="#a3">More...</a><em><br><br></em></font></dl></ul>
<hr><h2>Member Typedef Documentation</h2>
<a name="s0" doxytag="FunctionCurrent::ParentType"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
typedef <a class="el" href="classFunction.html">Function</a> FunctionCurrent::ParentType
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a name="a0" doxytag="FunctionCurrent::FunctionCurrent"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
FunctionCurrent::FunctionCurrent (
          </b></td>
          <td valign="bottom"><b>
)
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a name="a1" doxytag="FunctionCurrent::~FunctionCurrent"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
FunctionCurrent::~FunctionCurrent (
          </b></td>
          <td valign="bottom"><b>
)<code> [virtual]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<hr><h2>Member Function Documentation</h2>
<a name="a3" doxytag="FunctionCurrent::clone"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
FunctionCurrent * FunctionCurrent::clone (
          </b></td>
          <td valign="bottom"><b>
<a class="el" href="XalanMemoryManagement_8hpp.html#a5">MemoryManagerType</a> &amp; <em>theManager</em>&nbsp;) const<code> [virtual]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Create a copy of the function object.
<p>
<dl compact><dt>
<b>Returns: </b><dd>
pointer to the new object </dl>
<p>
Reimplemented from <a class="el" href="classFunction.html#a7">Function</a>.    </td>
  </tr>
</table>
<a name="a2" doxytag="FunctionCurrent::execute"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
<a class="el" href="classXObjectPtr.html">XObjectPtr</a> FunctionCurrent::execute (
          </b></td>
          <td valign="bottom"><b>
<a class="el" href="classXPathExecutionContext.html">XPathExecutionContext</a> &amp; <em>executionContext</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
<a class="el" href="classXalanNode.html">XalanNode</a> * <em>context</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
const <a class="el" href="classFunction.html#s0">LocatorType</a> * <em>locator</em>&nbsp;) const<code> [virtual]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Execute an <a class="el" href="classXPath.html">XPath</a> function object.
<p>
The function must return a valid object. Called if function has no parameters.<dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>executionContext</em>
&nbsp;</td><td>
executing context </td></tr>
<tr><td valign=top><em>context</em>
&nbsp;</td><td>
current context node  </td></tr>
<tr><td valign=top><em>locator</em>
&nbsp;</td><td>
LocatorType instance for the <a class="el" href="classXPath.html">XPath</a> expression that contains the function call </td></tr>
</table>
</dl><dl compact><dt>
<b>Returns: </b><dd>
pointer to the result <a class="el" href="classXObject.html">XObject</a> </dl>
<p>
Reimplemented from <a class="el" href="classFunction.html#a3">Function</a>.    </td>
  </tr>
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="FunctionCurrent_8hpp-source.html">FunctionCurrent.hpp</a></ul>
<p align="center"><a href="diagramnotes.html">Interpreting class diagrams</a></p>
<p><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
<i><A href="http://www.stack.nl/~dimitri/doxygen/">Doxygen</A> and 
<A href="http://www.research.att.com/sw/tools/graphviz/">GraphViz</A> are used to generate this API documentation from the Xalan-C header files.</I></FONT></p>

<TABLE border="0" cellpadding="0" cellspacing="0" width="820"><TR><TD bgcolor="#0086b2"><IMG height="1" src="../resources/dot.gif" width="1" alt="dot"></TD></TR></TABLE>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="80%">
	<TR>
		<TD WIDTH="80%" VALIGN="TOP">
			<P ALIGN="CENTER"><B>Xalan-C++ XSLT Processor Version 1.10</B><BR>
			Copyright &copy; 1999-2004 The Apache Software Foundation. All Rights Reserved.</i></p>
		</TD>
	</TR>
	<TR>
		<TD WIDTH="100%">
			<P ALIGN="CENTER"><IMG SRC="ApacheLogo.jpg" WIDTH="387" HEIGHT="100" ALIGN="BOTTOM" BORDER="0" ALT="Apache Logo">
		</TD>
	</TR>
</TABLE>
