Xalan-C++ API Documentation

The Xalan C++ XSLT Processor Version 1.10

Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

Function.hpp

Go to the documentation of this file.
00001 /*
00002  * Copyright 1999-2004 The Apache Software Foundation.
00003  *
00004  * Licensed under the Apache License, Version 2.0 (the "License");
00005  * you may not use this file except in compliance with the License.
00006  * You may obtain a copy of the License at
00007  *
00008  *     http://www.apache.org/licenses/LICENSE-2.0
00009  *
00010  * Unless required by applicable law or agreed to in writing, software
00011  * distributed under the License is distributed on an "AS IS" BASIS,
00012  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00013  * See the License for the specific language governing permissions and
00014  * limitations under the License.
00015  */
00016 #if !defined(FUNCTION_HEADER_GUARD_1357924680)
00017 #define FUNCTION_HEADER_GUARD_1357924680
00018 
00019 
00020 
00021 // Base header file.  Must be first.
00022 #include <xalanc/XPath/XPathDefinitions.hpp>
00023 
00024 #include <xalanc/Include/XalanMemMgrAutoPtr.hpp>
00025 
00026 
00027 #include <vector>
00028 
00029 
00030 
00031 #include <xalanc/XPath/XObject.hpp>
00032 #include <xalanc/XPath/XPathExecutionContext.hpp>
00033 
00034 
00035 XALAN_DECLARE_XERCES_CLASS(Locator)
00036 
00037 
00038 
00039 XALAN_CPP_NAMESPACE_BEGIN
00040 
00041 
00042 
00043 class XalanNode;
00044 
00045 
00046 
00047 // Base class for all XPath function classes.
00048 //
00049 // These are all inline, even though
00050 // there are virtual functions, because we expect that they will only be
00051 // needed by the XPath class.
00052 class XALAN_XPATH_EXPORT Function
00053 {
00054 public:
00055 
00056     typedef XERCES_CPP_NAMESPACE_QUALIFIER Locator  LocatorType;
00057 
00058     explicit
00059     Function();
00060 
00061     virtual
00062     ~Function();
00063 
00064     typedef XPathExecutionContext::XObjectArgVectorType XObjectArgVectorType;
00065 
00080     virtual XObjectPtr
00081     execute(
00082             XPathExecutionContext&          executionContext,
00083             XalanNode*                      context,
00084             const XObjectArgVectorType&     args,
00085             const LocatorType*              locator) const;
00086 
00096     virtual XObjectPtr
00097     execute(
00098             XPathExecutionContext&  executionContext,
00099             XalanNode*              context,
00100             const LocatorType*      locator) const;
00101 
00112     virtual XObjectPtr
00113     execute(
00114             XPathExecutionContext&  executionContext,
00115             XalanNode*              context,
00116             const XObjectPtr        arg,
00117             const LocatorType*      locator) const;
00118 
00130     virtual XObjectPtr
00131     execute(
00132             XPathExecutionContext&  executionContext,
00133             XalanNode*              context,
00134             const XObjectPtr        arg1,
00135             const XObjectPtr        arg2,
00136             const LocatorType*      locator) const;
00137 
00150     virtual XObjectPtr
00151     execute(
00152             XPathExecutionContext&  executionContext,
00153             XalanNode*              context,
00154             const XObjectPtr        arg1,
00155             const XObjectPtr        arg2,
00156             const XObjectPtr        arg3,
00157             const LocatorType*      locator) const;
00158 
00164     virtual Function*
00165     clone(MemoryManagerType&  theManager) const = 0;
00166 
00167 protected:
00168 
00176     virtual const XalanDOMString&
00177     getError(XalanDOMString& theBuffer) const = 0;
00178 
00179 private:
00180 
00181     // Not implemented...
00182     Function&
00183     operator=(const Function&);
00184 
00185     bool
00186     operator==(const Function&) const;
00187 };
00188 
00189 
00190 
00191 XALAN_CPP_NAMESPACE_END
00192 
00193 
00194 
00195 #endif  // FUNCTION_HEADER_GUARD_1357924680

Interpreting class diagrams

Doxygen and GraphViz are used to generate this API documentation from the Xalan-C header files.

dot

Xalan-C++ XSLT Processor Version 1.10
Copyright © 1999-2004 The Apache Software Foundation. All Rights Reserved.

Apache Logo