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(XALANQNAMEBYREFERENCE_HEADER_GUARD_1357924680) 00017 #define XALANQNAMEBYREFERENCE_HEADER_GUARD_1357924680 00018 00019 00020 00021 // Base header file. Must be first. 00022 #include <xalanc/XPath/XPathDefinitions.hpp> 00023 00024 00025 00026 // Base class header file... 00027 #include <xalanc/XPath/XalanQName.hpp> 00028 00029 00030 00031 XALAN_CPP_NAMESPACE_BEGIN 00032 00033 00034 00035 class XALAN_XPATH_EXPORT XalanQNameByReference : public XalanQName 00036 { 00037 public: 00038 00042 explicit 00043 XalanQNameByReference(); 00044 00053 XalanQNameByReference( 00054 const XalanDOMString& theNamespace, 00055 const XalanDOMString& theLocalPart); 00056 00064 XalanQNameByReference(const XalanDOMString& theLocalPart); 00065 00072 XalanQNameByReference(const XalanQName& theQName); 00073 00074 virtual 00075 ~XalanQNameByReference(); 00076 00082 virtual const XalanDOMString& 00083 getLocalPart() const; 00084 00090 void 00091 setLocalPart(const XalanDOMString& theLocalPart) 00092 { 00093 m_localpart = &theLocalPart; 00094 } 00095 00101 virtual const XalanDOMString& 00102 getNamespace() const; 00103 00109 void 00110 setNamespace(const XalanDOMString& theNamespace) 00111 { 00112 m_namespace = &theNamespace; 00113 } 00114 00118 void 00119 clear() 00120 { 00121 m_namespace = &s_emptyString; 00122 m_localpart = &s_emptyString; 00123 } 00124 00125 private: 00126 00127 // OK, we said reference, but using pointers 00128 // allows for copy and assignment semantics. 00129 const XalanDOMString* m_namespace; 00130 00131 const XalanDOMString* m_localpart; 00132 }; 00133 00134 00135 00136 template<> 00137 struct XalanMapKeyTraits<XalanQNameByReference> : public XalanMapKeyTraits<XalanQName> 00138 { 00139 }; 00140 00141 00142 00143 XALAN_CPP_NAMESPACE_END 00144 00145 00146 00147 #endif // XALANQNAMEBYREFERENCE_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 |
|