<!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><a href="annotated.html"><span>Classes</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
      <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
    </ul>
  </div>
<div class="header">
  <div class="headertitle">
<h1>FunctionLang.hpp</h1>  </div>
</div>
<div class="contents">
<a href="FunctionLang_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
<a name="l00002"></a>00002 <span class="comment"> * Licensed to the Apache Software Foundation (ASF) under one</span>
<a name="l00003"></a>00003 <span class="comment"> * or more contributor license agreements. See the NOTICE file</span>
<a name="l00004"></a>00004 <span class="comment"> * distributed with this work for additional information</span>
<a name="l00005"></a>00005 <span class="comment"> * regarding copyright ownership. The ASF licenses this file</span>
<a name="l00006"></a>00006 <span class="comment"> * to you under the Apache License, Version 2.0 (the  &quot;License&quot;);</span>
<a name="l00007"></a>00007 <span class="comment"> * you may not use this file except in compliance with the License.</span>
<a name="l00008"></a>00008 <span class="comment"> * You may obtain a copy of the License at</span>
<a name="l00009"></a>00009 <span class="comment"> *</span>
<a name="l00010"></a>00010 <span class="comment"> *     http://www.apache.org/licenses/LICENSE-2.0</span>
<a name="l00011"></a>00011 <span class="comment"> *</span>
<a name="l00012"></a>00012 <span class="comment"> * Unless required by applicable law or agreed to in writing, software</span>
<a name="l00013"></a>00013 <span class="comment"> * distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span>
<a name="l00014"></a>00014 <span class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
<a name="l00015"></a>00015 <span class="comment"> * See the License for the specific language governing permissions and</span>
<a name="l00016"></a>00016 <span class="comment"> * limitations under the License.</span>
<a name="l00017"></a>00017 <span class="comment"> */</span>
<a name="l00018"></a>00018 <span class="preprocessor">#if !defined(FUNCTIONLANG_HEADER_GUARD_1357924680)</span>
<a name="l00019"></a>00019 <span class="preprocessor"></span><span class="preprocessor">#define FUNCTIONLANG_HEADER_GUARD_1357924680</span>
<a name="l00020"></a>00020 <span class="preprocessor"></span>
<a name="l00021"></a>00021 
<a name="l00022"></a>00022 
<a name="l00023"></a>00023 <span class="comment">// Base header file.  Must be first.</span>
<a name="l00024"></a>00024 <span class="preprocessor">#include &lt;<a class="code" href="XPathDefinitions_8hpp.html">xalanc/XPath/XPathDefinitions.hpp</a>&gt;</span>
<a name="l00025"></a>00025 
<a name="l00026"></a>00026 
<a name="l00027"></a>00027 
<a name="l00028"></a>00028 <span class="comment">// Base class header file...</span>
<a name="l00029"></a>00029 <span class="preprocessor">#include &lt;<a class="code" href="Function_8hpp.html">xalanc/XPath/Function.hpp</a>&gt;</span>
<a name="l00030"></a>00030 
<a name="l00031"></a>00031 
<a name="l00032"></a>00032 
<a name="l00033"></a>00033 XALAN_CPP_NAMESPACE_BEGIN
<a name="l00034"></a>00034 
<a name="l00035"></a>00035 
<a name="l00036"></a>00036 <span class="comment"></span>
<a name="l00037"></a>00037 <span class="comment">/**</span>
<a name="l00038"></a>00038 <span class="comment"> * XPath implementation of &quot;lang&quot; function.</span>
<a name="l00039"></a>00039 <span class="comment"> */</span>
<a name="l00040"></a><a class="code" href="classFunctionLang.html">00040</a> <span class="keyword">class </span><a class="code" href="XPathDefinitions_8hpp.html#aa9c15f77ef5ab2dc518733b0fd07c141">XALAN_XPATH_EXPORT</a> <a class="code" href="classFunctionLang.html" title="XPath implementation of &amp;quot;lang&amp;quot; function.">FunctionLang</a> : <span class="keyword">public</span> <a class="code" href="classFunction.html">Function</a>
<a name="l00041"></a>00041 {
<a name="l00042"></a>00042 <span class="keyword">public</span>:
<a name="l00043"></a>00043 
<a name="l00044"></a><a class="code" href="classFunctionLang.html#af50bb524b1bfde42a9d4d600c41c2a00">00044</a>     <span class="keyword">typedef</span> <a class="code" href="classFunction.html">Function</a>    <a class="code" href="classFunction.html">ParentType</a>;
<a name="l00045"></a>00045 <span class="comment"></span>
<a name="l00046"></a>00046 <span class="comment">    /**</span>
<a name="l00047"></a>00047 <span class="comment">     * Perform static initialization.  See class XPathInit.</span>
<a name="l00048"></a>00048 <span class="comment">     */</span>
<a name="l00049"></a>00049     <span class="keyword">static</span> <span class="keywordtype">void</span>
<a name="l00050"></a>00050     initialize(MemoryManager&amp;   theManager);
<a name="l00051"></a>00051 <span class="comment"></span>
<a name="l00052"></a>00052 <span class="comment">    /**</span>
<a name="l00053"></a>00053 <span class="comment">     * Perform static shut down.  See class XPathInit.</span>
<a name="l00054"></a>00054 <span class="comment">     */</span>
<a name="l00055"></a>00055     <span class="keyword">static</span> <span class="keywordtype">void</span>
<a name="l00056"></a>00056     <a class="code" href="XalanDOMString_8hpp.html#a392a1168a4c055ef750608dde287a874">terminate</a>();
<a name="l00057"></a>00057 
<a name="l00058"></a>00058 
<a name="l00059"></a>00059     <a class="code" href="classFunctionLang.html" title="XPath implementation of &amp;quot;lang&amp;quot; function.">FunctionLang</a>();
<a name="l00060"></a>00060 
<a name="l00061"></a>00061     <span class="keyword">virtual</span>
<a name="l00062"></a>00062     ~<a class="code" href="classFunctionLang.html" title="XPath implementation of &amp;quot;lang&amp;quot; function.">FunctionLang</a>();
<a name="l00063"></a>00063 
<a name="l00064"></a>00064     <span class="comment">// These methods are inherited from Function ...</span>
<a name="l00065"></a>00065 
<a name="l00066"></a>00066     <span class="keyword">virtual</span> <a class="code" href="classXObjectPtr.html" title="Class to hold XObjectPtr return types.">XObjectPtr</a>
<a name="l00067"></a>00067     <a class="code" href="classFunction.html#aa4b335cec171fe9b244240d7cc23cc9a" title="Execute an XPath function object.">execute</a>(
<a name="l00068"></a>00068             <a class="code" href="classXPathExecutionContext.html">XPathExecutionContext</a>&amp;  executionContext,
<a name="l00069"></a>00069             <a class="code" href="classXalanNode.html">XalanNode</a>*              context,
<a name="l00070"></a>00070             <span class="keyword">const</span> <a class="code" href="classXObjectPtr.html" title="Class to hold XObjectPtr return types.">XObjectPtr</a>        arg1,
<a name="l00071"></a>00071             <span class="keyword">const</span> Locator*          locator) <span class="keyword">const</span>;
<a name="l00072"></a>00072 
<a name="l00073"></a>00073     <span class="keyword">using</span> ParentType::execute;
<a name="l00074"></a>00074 
<a name="l00075"></a>00075 <span class="preprocessor">#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)</span>
<a name="l00076"></a>00076 <span class="preprocessor"></span>    <span class="keyword">virtual</span> <a class="code" href="classFunction.html">Function</a>*
<a name="l00077"></a>00077 <span class="preprocessor">#else</span>
<a name="l00078"></a>00078 <span class="preprocessor"></span>    <span class="keyword">virtual</span> <a class="code" href="classFunctionLang.html" title="XPath implementation of &amp;quot;lang&amp;quot; function.">FunctionLang</a>*
<a name="l00079"></a>00079 <span class="preprocessor">#endif</span>
<a name="l00080"></a>00080 <span class="preprocessor"></span>    <a class="code" href="classFunction.html#a2fadcb58a8f88f7cff630a30ce16203c" title="Create a copy of the function object.">clone</a>(MemoryManager&amp;    theManager) <span class="keyword">const</span>;
<a name="l00081"></a>00081 
<a name="l00082"></a>00082 <span class="keyword">protected</span>:
<a name="l00083"></a>00083 
<a name="l00084"></a>00084     <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;
<a name="l00085"></a>00085     <a class="code" href="classFunction.html#a2a9ce8b0b9ec2d6581355346ec84ae30" title="Get the error message to report when the function is called with the wrong number of arguments...">getError</a>(<a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;    <a class="code" href="XalanDOMString_8hpp.html#ad0987a2085caff760532b7f16b5c6f2e">theResult</a>) <span class="keyword">const</span>;
<a name="l00086"></a>00086 
<a name="l00087"></a>00087 <span class="keyword">private</span>:
<a name="l00088"></a>00088 
<a name="l00089"></a>00089     <span class="comment">// Not implemented...</span>
<a name="l00090"></a>00090     <a class="code" href="classFunctionLang.html" title="XPath implementation of &amp;quot;lang&amp;quot; function.">FunctionLang</a>&amp;
<a name="l00091"></a>00091     operator=(<span class="keyword">const</span> <a class="code" href="classFunctionLang.html" title="XPath implementation of &amp;quot;lang&amp;quot; function.">FunctionLang</a>&amp;);
<a name="l00092"></a>00092 
<a name="l00093"></a>00093     <span class="keywordtype">bool</span>
<a name="l00094"></a>00094     <a class="code" href="ElemAttributeSet_8hpp.html#ae199bc16afddda1065706543e752d292">operator==</a>(<span class="keyword">const</span> <a class="code" href="classFunctionLang.html" title="XPath implementation of &amp;quot;lang&amp;quot; function.">FunctionLang</a>&amp;) <span class="keyword">const</span>;
<a name="l00095"></a>00095 
<a name="l00096"></a>00096     <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;    s_attributeName;
<a name="l00097"></a>00097 };
<a name="l00098"></a>00098 
<a name="l00099"></a>00099 
<a name="l00100"></a>00100 
<a name="l00101"></a>00101 XALAN_CPP_NAMESPACE_END
<a name="l00102"></a>00102 
<a name="l00103"></a>00103 
<a name="l00104"></a>00104 
<a name="l00105"></a>00105 <span class="preprocessor">#endif  // FUNCTIONLANG_HEADER_GUARD_1357924680</span>
</pre></div></div>
</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>
