Xalan-C++ API Documentation

The Xalan C++ XSLT Processor Version 1.10

XalanEXSLTCommonImpl.hpp
Go to the documentation of this file.
1 /*
2  * Copyright 1999-2004 The Apache Software Foundation.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 #if !defined(EXSLT_COMMONIMPL_HEADER_GUARD_1357924680)
17 #define EXSLT_COMMONIMPL_HEADER_GUARD_1357924680
18 
19 
20 
22 
23 
24 
26 
27 
28 
30 
31 
32 
34 
35 
36 
37 XALAN_CPP_NAMESPACE_BEGIN
38 
39 
40 
42 {
43 public:
44 
46  FunctionNodeSet(true)
47  {
48  }
49 
50  virtual
52  {
53  }
54 
55 #if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
56  virtual Function*
57 #else
59 #endif
60  clone(MemoryManagerType& theManager) const
61  {
62  return XalanCopyConstruct(theManager, *this);
63  }
64 
65 protected:
66 
67  virtual const XalanDOMString&
68  getError(XalanDOMString& theBuffer) const
69  {
71  theBuffer,
72  XalanMessages::EXSLTFunctionAcceptsOneArgument_1Param,
73  "node-set()");
74 
75  return theBuffer;
76  }
77 
78 
79  virtual const XalanDOMString&
81  {
83  theResult,
84  XalanMessages::InvalidArgumentType_1Param,
85  "node-set()");
86 
87  return theResult;
88  }
89 
90 private:
91 
92  // Not implemented...
94  operator=(const XalanEXSLTFunctionNodeSet&);
95 
96  bool
98 };
99 
100 
101 
103 {
104 public:
105 
107 
109  Function(),
110  m_boolean(s_booleanString, theManager),
111  m_external(s_externalString, theManager),
112  m_nodeSet(s_nodeSetString, theManager),
113  m_number(s_numberString, theManager),
114  m_rtf(s_rtfString, theManager),
115  m_string(s_stringString, theManager)
116  {
117  }
118 
119  // A dummy constructor for use internally. Do not use this one!!!!
120  XalanEXSLTFunctionObjectType(MemoryManagerType& theManager, int /* theDummy */) :
121  Function(),
122  m_boolean(theManager),
123  m_external(theManager),
124  m_nodeSet(theManager),
125  m_number(theManager),
126  m_rtf(theManager),
127  m_string(theManager)
128  {
129  }
130 
131  virtual
133  {
134  }
135 
136  // These methods are inherited from Function ...
137 
138  virtual XObjectPtr
139  execute(
140  XPathExecutionContext& executionContext,
141  XalanNode* context,
142  const XObjectArgVectorType& args,
143  const LocatorType* locator) const;
144 
145 #if !defined(XALAN_NO_USING_DECLARATION)
146  using ParentType::execute;
147 #endif
148 
149 #if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
150  virtual Function*
151 #else
153 #endif
154  clone(MemoryManagerType& theManager) const
155  {
156  typedef XalanEXSLTFunctionObjectType Type;
157 
158  XalanMemMgrAutoPtr<Type, false> theGuard( theManager , (Type*)theManager.allocate(sizeof(Type)));
159 
160  Type* theResult = theGuard.get();
161 
162  new (theResult) Type(theManager);
163 
164  theGuard.release();
165 
166  return theResult;
167  }
168 
169 protected:
170 
171 
172 
173  const XalanDOMString&
174  getError(XalanDOMString& theResult) const;
175 
176 private:
177 
178  // Not implemented...
180 
182  operator=(const XalanEXSLTFunctionObjectType&);
183 
184  bool
186 
187 
188  // Data members...
189  const XalanDOMString m_boolean;
190  const XalanDOMString m_external;
191  const XalanDOMString m_nodeSet;
192  const XalanDOMString m_number;
193  const XalanDOMString m_rtf;
194  const XalanDOMString m_string;
195 
196  static const XalanDOMChar s_booleanString[];
197  static const XalanDOMChar s_externalString[];
198  static const XalanDOMChar s_nodeSetString[];
199  static const XalanDOMChar s_numberString[];
200  static const XalanDOMChar s_rtfString[];
201  static const XalanDOMChar s_stringString[];
202 };
203 
204 
205 
206 XALAN_CPP_NAMESPACE_END
207 
208 
209 
210 #endif // EXSLT_COMMONIMPL_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