<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>Xalan-C++ API : Main Page</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<!-- The head section is copied from Doxygen 1.7.1 generated default output -->
<body>
<h2 align="center">Xalan-C++ API Documentation</h2>
<h3 align="center"><a href="../index.html">The Xalan C++ XSLT Processor Version 1.11</a></h3>
<hr/>
<!-- Generated by Doxygen 1.7.1 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
      <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a>  </div>
  <div class="headertitle">
<h1>XalanEXSLTFunctionAtan2 Class Reference</h1>  </div>
</div>
<div class="contents">
<!-- doxytag: class="XalanEXSLTFunctionAtan2" --><!-- doxytag: inherits="Function" -->
<p><code>#include &lt;<a class="el" href="XalanEXSLTMathImpl_8hpp_source.html">XalanEXSLTMathImpl.hpp</a>&gt;</code></p>

<p>Inherits <a class="el" href="classFunction.html">Function</a>.</p>
<div class="dynheader">
Collaboration diagram for XalanEXSLTFunctionAtan2:</div>
<div class="dyncontent">
<div class="center"><img src="classXalanEXSLTFunctionAtan2__coll__graph.png" border="0" usemap="#XalanEXSLTFunctionAtan2_coll__map" alt="Collaboration graph"/></div>
<map name="XalanEXSLTFunctionAtan2_coll__map" id="XalanEXSLTFunctionAtan2_coll__map">
<area shape="rect" id="node2" href="classFunction.html" title="Function" alt="" coords="63,5,137,35"/></map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>

<p><a href="classXalanEXSLTFunctionAtan2-members.html">List of all members.</a></p>
<h2><a name="pub-types"></a>
Public Types</h2>
<ul>
<li>typedef <a class="el" href="classFunction.html">Function</a> <a class="el" href="classXalanEXSLTFunctionAtan2.html#a5b879d4a294fc3b132333911ba30290a">ParentType</a>
</ul>
<h2><a name="pub-methods"></a>
Public Member Functions</h2>
<ul>
<li><a class="el" href="classXalanEXSLTFunctionAtan2.html#ad4d2539f8d651ca237c3c0370a129fb1">XalanEXSLTFunctionAtan2</a> ()
<li>virtual <a class="el" href="classXalanEXSLTFunctionAtan2.html#a0bdad709abef1d293aeb0ff216bcbd5b">~XalanEXSLTFunctionAtan2</a> ()
<li>virtual <a class="el" href="classXObjectPtr.html">XObjectPtr</a> <a class="el" href="classXalanEXSLTFunctionAtan2.html#ad63852507da0fe0790d5cc17c036757b">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="classXalanVector.html">XObjectArgVectorType</a> &amp;args, const Locator *locator) const 
<dl class="el"><dd class="mdescRight">Execute an <a class="el" href="classXPath.html">XPath</a> function object.  <a href="#ad63852507da0fe0790d5cc17c036757b"></a><br/></dl><li>virtual <a class="el" href="classXalanEXSLTFunctionAtan2.html">XalanEXSLTFunctionAtan2</a> * <a class="el" href="classXalanEXSLTFunctionAtan2.html#aed4596c8ce03fdeeb6db43b7f44752fe">clone</a> (MemoryManager &amp;theManager) const 
<dl class="el"><dd class="mdescRight">Create a copy of the function object.  <a href="#aed4596c8ce03fdeeb6db43b7f44752fe"></a><br/></dl></ul>
<h2><a name="pro-methods"></a>
Protected Member Functions</h2>
<ul>
<li>const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp; <a class="el" href="classXalanEXSLTFunctionAtan2.html#a27cac21cff977d0b71d27d7ed1cd364e">getError</a> (<a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp;theBuffer) const 
<dl class="el"><dd class="mdescRight">Get the error message to report when the function is called with the wrong number of arguments.  <a href="#a27cac21cff977d0b71d27d7ed1cd364e"></a><br/></dl></ul>
<hr/><a name="_details"></a><h2>Detailed Description</h2>

<p>Definition at line <a class="el" href="XalanEXSLTMathImpl_8hpp_source.html#l00304">304</a> of file <a class="el" href="XalanEXSLTMathImpl_8hpp_source.html">XalanEXSLTMathImpl.hpp</a>.</p>
<hr/><h2>Member Typedef Documentation</h2>
<a class="anchor" id="a5b879d4a294fc3b132333911ba30290a"></a><!-- doxytag: member="XalanEXSLTFunctionAtan2::ParentType" ref="a5b879d4a294fc3b132333911ba30290a" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="classFunction.html">Function</a> <a class="el" href="classFunction.html">XalanEXSLTFunctionAtan2::ParentType</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="XalanEXSLTMathImpl_8hpp_source.html#l00308">308</a> of file <a class="el" href="XalanEXSLTMathImpl_8hpp_source.html">XalanEXSLTMathImpl.hpp</a>.</p>

</div>
</div>
<hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="ad4d2539f8d651ca237c3c0370a129fb1"></a><!-- doxytag: member="XalanEXSLTFunctionAtan2::XalanEXSLTFunctionAtan2" ref="ad4d2539f8d651ca237c3c0370a129fb1" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">XalanEXSLTFunctionAtan2::XalanEXSLTFunctionAtan2 </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="XalanEXSLTMathImpl_8hpp_source.html#l00310">310</a> of file <a class="el" href="XalanEXSLTMathImpl_8hpp_source.html">XalanEXSLTMathImpl.hpp</a>.</p>

</div>
</div>
<a class="anchor" id="a0bdad709abef1d293aeb0ff216bcbd5b"></a><!-- doxytag: member="XalanEXSLTFunctionAtan2::~XalanEXSLTFunctionAtan2" ref="a0bdad709abef1d293aeb0ff216bcbd5b" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual XalanEXSLTFunctionAtan2::~XalanEXSLTFunctionAtan2 </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="XalanEXSLTMathImpl_8hpp_source.html#l00315">315</a> of file <a class="el" href="XalanEXSLTMathImpl_8hpp_source.html">XalanEXSLTMathImpl.hpp</a>.</p>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="aed4596c8ce03fdeeb6db43b7f44752fe"></a><!-- doxytag: member="XalanEXSLTFunctionAtan2::clone" ref="aed4596c8ce03fdeeb6db43b7f44752fe" args="(MemoryManager &amp;theManager) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classXalanEXSLTFunctionAtan2.html">XalanEXSLTFunctionAtan2</a>* XalanEXSLTFunctionAtan2::clone </td>
          <td>(</td>
          <td class="paramtype">MemoryManager &amp;&nbsp;</td>
          <td class="paramname"> <em>theManager</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Create a copy of the function object. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>pointer to the new object </dd></dl>

<p>Implements <a class="el" href="classFunction.html#a2fadcb58a8f88f7cff630a30ce16203c">Function</a>.</p>

<p>Definition at line <a class="el" href="XalanEXSLTMathImpl_8hpp_source.html#l00335">335</a> of file <a class="el" href="XalanEXSLTMathImpl_8hpp_source.html">XalanEXSLTMathImpl.hpp</a>.</p>

</div>
</div>
<a class="anchor" id="ad63852507da0fe0790d5cc17c036757b"></a><!-- doxytag: member="XalanEXSLTFunctionAtan2::execute" ref="ad63852507da0fe0790d5cc17c036757b" args="(XPathExecutionContext &amp;executionContext, XalanNode *context, const XObjectArgVectorType &amp;args, const Locator *locator) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classXObjectPtr.html">XObjectPtr</a> XalanEXSLTFunctionAtan2::execute </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classXPathExecutionContext.html">XPathExecutionContext</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>executionContext</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classXalanNode.html">XalanNode</a> *&nbsp;</td>
          <td class="paramname"> <em>context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classXalanVector.html">XObjectArgVectorType</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>args</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Locator *&nbsp;</td>
          <td class="paramname"> <em>locator</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Execute an <a class="el" href="classXPath.html">XPath</a> function object. </p>
<p>The function must return a valid object. Extension functions should override this version of <a class="el" href="classXalanEXSLTFunctionAtan2.html#ad63852507da0fe0790d5cc17c036757b" title="Execute an XPath function object.">execute()</a>, rather than one of the other calls designed for a specific number of arguments, since the extension function mechanism will call this version first. Extension functions that accept more than three arguments _must_ override this version.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>executionContext</em>&nbsp;</td><td>executing context </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>current context node </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>args</em>&nbsp;</td><td>vector of pointers to <a class="el" href="classXObject.html" title="Class to hold XPath return types.">XObject</a> arguments </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>locator</em>&nbsp;</td><td>Locator instance for the <a class="el" href="classXPath.html">XPath</a> expression that contains the function call </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>pointer to the result <a class="el" href="classXObject.html" title="Class to hold XPath return types.">XObject</a> </dd></dl>

<p>Reimplemented from <a class="el" href="classFunction.html#aa4b335cec171fe9b244240d7cc23cc9a">Function</a>.</p>

</div>
</div>
<a class="anchor" id="a27cac21cff977d0b71d27d7ed1cd364e"></a><!-- doxytag: member="XalanEXSLTFunctionAtan2::getError" ref="a27cac21cff977d0b71d27d7ed1cd364e" args="(XalanDOMString &amp;theBuffer) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="classXalanDOMString.html">XalanDOMString</a>&amp; XalanEXSLTFunctionAtan2::getError </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>theBuffer</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the error message to report when the function is called with the wrong number of arguments. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>theBuffer</em>&nbsp;</td><td>The <a class="el" href="classXalanDOMString.html">XalanDOMString</a> for the message. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The error message </dd></dl>

<p>Implements <a class="el" href="classFunction.html#a2a9ce8b0b9ec2d6581355346ec84ae30">Function</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="XalanEXSLTMathImpl_8hpp_source.html">XalanEXSLTMathImpl.hpp</a></li>
</ul>
</div>
<p align="center"><a href="graph_legend.html">Interpreting class diagrams</a></p>
<p><font color="#000000" face="arial,helvetica,sanserif" size="-1">
<i><a href="http://www.doxygen.org/">Doxygen</a> and 
<a href="http://www.graphviz.org/">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="80%">
 <tr>
  <td width="80%" valign="top">
	<p align="center"><b>Xalan-C++ XSLT Processor Version 1.11</b><br/>
	Copyright &copy; 1999-2012 The Apache Software Foundation.<br/>
	All Rights Reserved.</p>
  </td>
 </tr>
 <tr>
  <td width="100%">
	<p align="center"><img src="asf_logo_wide.gif" width="268" height="25" align="bottom" border="0" alt="Apache Logo">
  </td>
 </tr>
</table>
</body>
</html>
