Xalan-C++ API Reference  1.12.0
XNodeSetNodeProxy.hpp
Go to the documentation of this file.
1 /*
2  * Licensed to the Apache Software Foundation (ASF) under one
3  * or more contributor license agreements. See the NOTICE file
4  * distributed with this work for additional information
5  * regarding copyright ownership. The ASF licenses this file
6  * to you under the Apache License, Version 2.0 (the "License");
7  * you may not use this file except in compliance with the License.
8  * You may obtain a copy of the License at
9  *
10  * http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing, software
13  * distributed under the License is distributed on an "AS IS" BASIS,
14  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  * See the License for the specific language governing permissions and
16  * limitations under the License.
17  */
18 #if !defined(XNODESETNODEPROXY_HEADER_GUARD_1357924680)
19 #define XNODESETNODEPROXY_HEADER_GUARD_1357924680
20 
21 
22 
23 // Base include file. Must be first.
25 
26 
27 
28 // Base class header file.
30 
31 
32 
34 
35 
36 
37 namespace XALAN_CPP_NAMESPACE {
38 
39 
40 
41 /**
42  * Class to hold XPath return types.
43  */
45 {
46 public:
47 
48  /**
49  * Create an XNodeSetNodeProxy
50  */
51  XNodeSetNodeProxy(MemoryManager& theManager, XalanNode* theNode);
52 
53  /**
54  * Create an XNodeSetNodeProxy from another.
55  *
56  * @param source object to copy
57  */
58  XNodeSetNodeProxy(const XNodeSetNodeProxy& source, MemoryManager& theManager);
59 
60  virtual
62 
63  // These methods are inherited from XObject ...
64 
65  virtual const NodeRefListBase&
66  nodeset() const;
67 
68  virtual XalanNode*
69  item(size_type index) const;
70 
71  virtual size_type
72  getLength() const;
73 
74  // A proxy class to implement NodeRefListBase...
75  class Proxy : public NodeRefListBase
76  {
77  public:
78 
79  Proxy(XalanNode* theNode);
80 
81  virtual
82  ~Proxy();
83 
84  virtual XalanNode*
85  item(size_type index) const;
86 
87  virtual size_type
88  getLength() const;
89 
90  virtual size_type
91  indexOf(const XalanNode* theNode) const;
92 
94  };
95 
96 protected:
97 
98  virtual eObjectType
99  getRealType() const;
100 
101 private:
102 
103  // Not implemented...
105  operator=(const XNodeSetNodeProxy&);
106  XNodeSetNodeProxy(const XNodeSetNodeProxy& source);
107 
108 
109  // Data members...
110  const Proxy m_proxy;
111 };
112 
113 
114 
115 }
116 
117 
118 
119 #endif // XNODESETNODEPROXY_HEADER_GUARD_1357924680
XALAN_CPP_NAMESPACE
#define XALAN_CPP_NAMESPACE
Xalan-C++ namespace, including major and minor version.
Definition: XalanVersion.hpp:76
xalanc::XNodeSetNodeProxy::Proxy::m_node
XalanNode * m_node
Definition: XNodeSetNodeProxy.hpp:93
xalanc::XalanNode
Definition: XalanNode.hpp:38
xalanc::XNodeSetNodeProxy
Class to hold XPath return types.
Definition: XNodeSetNodeProxy.hpp:44
xalanc::indexOf
XalanDOMString::size_type indexOf(const XalanDOMChar *theString, XalanDOMChar theChar)
Simulates the java String method indexOf().
Definition: DOMStringHelper.hpp:308
XNodeSetBase.hpp
XALAN_XPATH_EXPORT
#define XALAN_XPATH_EXPORT
Definition: XPathDefinitions.hpp:35
xalanc::XObject::eObjectType
eObjectType
Enumeration of possible object types.
Definition: XObject.hpp:74
xalanc::XNodeSetNodeProxy::Proxy
Definition: XNodeSetNodeProxy.hpp:75
xalanc::XNodeSetBase
Class to hold XPath return types.
Definition: XNodeSetBase.hpp:45
xalanc::XNodeSetBase::size_type
NodeRefListBase::size_type size_type
Definition: XNodeSetBase.hpp:49
NodeRefListBase.hpp
xalanc::NodeRefListBase
Local implementation of NodeRefList.
Definition: NodeRefListBase.hpp:44
xalanc::NodeRefListBase::size_type
XalanSize_t size_type
Definition: NodeRefListBase.hpp:53
XPathDefinitions.hpp