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
Doxygen and GraphViz are used to generate this API documentation from the Xalan-C header files.
Xalan-C++ XSLT Processor Version 1.10 |
|