<HTML><HEAD><TITLE>Xalan-C++ API Documentation</TITLE></HEAD>
<BODY>
<h2 align="center">Xalan-C++ API Documentation</h2>
<h3 align="center">The Xalan C++ XSLT Processor Version 1.10</h3>
</BODY>
<!-- Generated by Doxygen 1.2.8.1 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
<hr><h1>AttributeVectorEntryExtended.hpp</h1><a href="AttributeVectorEntryExtended_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <font class="comment">/*</font>
00002 <font class="comment"> * Copyright 1999-2004 The Apache Software Foundation.</font>
00003 <font class="comment"> *</font>
00004 <font class="comment"> * Licensed under the Apache License, Version 2.0 (the "License");</font>
00005 <font class="comment"> * you may not use this file except in compliance with the License.</font>
00006 <font class="comment"> * You may obtain a copy of the License at</font>
00007 <font class="comment"> *</font>
00008 <font class="comment"> *     http://www.apache.org/licenses/LICENSE-2.0</font>
00009 <font class="comment"> *</font>
00010 <font class="comment"> * Unless required by applicable law or agreed to in writing, software</font>
00011 <font class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</font>
00012 <font class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</font>
00013 <font class="comment"> * See the License for the specific language governing permissions and</font>
00014 <font class="comment"> * limitations under the License.</font>
00015 <font class="comment"> */</font>
00016 <font class="preprocessor">#if !defined(ATTRIBUTEVECTORENTRYEXTENDED_HEADER_GUARD_1357924680)</font>
<a name="l00017"></a><a class="code" href="AttributeVectorEntryExtended_8hpp.html#a0">00017</a> <font class="preprocessor"></font><font class="preprocessor">#define ATTRIBUTEVECTORENTRYEXTENDED_HEADER_GUARD_1357924680</font>
00018 <font class="preprocessor"></font>
00019 
00020 
00021 <font class="comment">// Base include file.  Must be first.</font>
00022 <font class="preprocessor">#include &lt;<a class="code" href="PlatformSupportDefinitions_8hpp.html">xalanc/PlatformSupport/PlatformSupportDefinitions.hpp</a>&gt;</font>
00023 
00024 
00025 
00026 <font class="preprocessor">#include &lt;<a class="code" href="AttributeVectorEntry_8hpp.html">xalanc/PlatformSupport/AttributeVectorEntry.hpp</a>&gt;</font>
00027 
00028 <font class="preprocessor">#include &lt;<a class="code" href="XalanMemMgrAutoPtr_8hpp.html">xalanc/Include/XalanMemMgrAutoPtr.hpp</a>&gt;</font>
00029 
00030 XALAN_CPP_NAMESPACE_BEGIN
00031 
00032 
00033 
<a name="l00034"></a><a class="code" href="classAttributeVectorEntryExtended.html">00034</a> <font class="keyword">class </font>XALAN_PLATFORMSUPPORT_EXPORT <a class="code" href="classAttributeVectorEntryExtended.html">AttributeVectorEntryExtended</a> : <font class="keyword">public</font> <a class="code" href="classAttributeVectorEntry.html">AttributeVectorEntry</a>
00035 {
00036 <font class="keyword">public</font>:
00037 
<a name="l00038"></a><a class="code" href="classAttributeVectorEntryExtended.html#a0">00038</a>     <a class="code" href="AttributesImpl_8hpp.html#a1">AttributeVectorEntryExtended</a>(
00039             <font class="keyword">const</font> XMLChVectorType&amp;  theName,
00040             <font class="keyword">const</font> XMLChVectorType&amp;  theValue,
00041             <font class="keyword">const</font> XMLChVectorType&amp;  theType,
00042             <font class="keyword">const</font> XMLChVectorType&amp;  theURI ,
00043             <font class="keyword">const</font> XMLChVectorType&amp;  theLocalName,
00044             MemoryManagerType&amp;      theManager) :
00045         <a class="code" href="classAttributeVectorEntry.html">AttributeVectorEntry</a>(theName, theValue, theType, theManager),
00046         m_uri(theURI, theManager),
00047         m_localName(theLocalName, theManager)
00048     {
00049     }
00050 
<a name="l00051"></a><a class="code" href="classAttributeVectorEntryExtended.html#a1">00051</a>     <a class="code" href="AttributesImpl_8hpp.html#a1">AttributeVectorEntryExtended</a>(
00052             <font class="keyword">const</font> XMLCh*    theName,
00053             <font class="keyword">const</font> XMLCh*    theValue,
00054             <font class="keyword">const</font> XMLCh*    theType,
00055             <font class="keyword">const</font> XMLCh*    theURI,
00056             <font class="keyword">const</font> XMLCh*    theLocalName,
00057             MemoryManagerType&amp;      theManager) :
00058         <a class="code" href="classAttributeVectorEntry.html">AttributeVectorEntry</a>(theName, theValue, theType, theManager),
00059         m_uri(theURI, theURI + length(theURI) + 1, theManager),
00060         m_localName(theLocalName, theLocalName + length(theLocalName) + 1,theManager)
00061     {
00062     }
00063 
<a name="l00064"></a><a class="code" href="classAttributeVectorEntryExtended.html#a2">00064</a>     <a class="code" href="AttributesImpl_8hpp.html#a1">AttributeVectorEntryExtended</a>(
00065             <font class="keyword">const</font> XMLCh*    theName,
00066             <font class="keyword">const</font> XMLCh*    theValue,
00067             <font class="keyword">const</font> XMLCh*    theType,
00068             MemoryManagerType&amp;      theManager) :
00069         <a class="code" href="classAttributeVectorEntry.html">AttributeVectorEntry</a>(theName, theValue, theType,theManager),
00070         m_uri(theManager),
00071         m_localName(theManager)
00072     {
00073     }
00074 
<a name="l00075"></a><a class="code" href="classAttributeVectorEntryExtended.html#a3">00075</a>     <a class="code" href="AttributesImpl_8hpp.html#a1">AttributeVectorEntryExtended</a>(MemoryManagerType&amp;      theManager) :
00076         <a class="code" href="classAttributeVectorEntry.html">AttributeVectorEntry</a>(theManager),
00077         m_uri(theManager),
00078         m_localName(theManager)
00079     {
00080     }
00081 
00082     <font class="keyword">static</font> <a class="code" href="classAttributeVectorEntryExtended.html">AttributeVectorEntryExtended</a>*
<a name="l00083"></a><a class="code" href="classAttributeVectorEntryExtended.html#d0">00083</a>     <a class="code" href="classAttributeVectorEntry.html#d0">create</a>(
00084             <font class="keyword">const</font> XMLCh*    theName,
00085             <font class="keyword">const</font> XMLCh*    theValue,
00086             <font class="keyword">const</font> XMLCh*    theType,
00087             <font class="keyword">const</font> XMLCh*    theURI,
00088             <font class="keyword">const</font> XMLCh*    theLocalName,
00089             MemoryManagerType&amp;      theManager)<font class="keyword"></font>
00090 <font class="keyword">    </font>{
00091         <font class="keyword">typedef</font> <a class="code" href="classAttributeVectorEntryExtended.html">AttributeVectorEntryExtended</a> <a class="code" href="classXalanDeque.html">ThisType</a>;
00092         
00093         XalanMemMgrAutoPtr&lt;ThisType, false&gt; theGuard( theManager , (<a class="code" href="classXalanDeque.html">ThisType</a>*)theManager.allocate(<font class="keyword">sizeof</font>(<a class="code" href="classXalanDeque.html">ThisType</a>)));
00094 
00095         <a class="code" href="classXalanDeque.html">ThisType</a>* theResult = theGuard.get();
00096 
00097         <font class="keyword">new</font> (theResult) ThisType(theName, theValue, theType, theURI, theLocalName, theManager);
00098 
00099         theGuard.release();
00100 
00101         <font class="keywordflow">return</font> theResult;
00102     }
00103 
00104     <font class="keyword">virtual</font>
<a name="l00105"></a><a class="code" href="classAttributeVectorEntryExtended.html#a4">00105</a>     <a class="code" href="classAttributeVectorEntryExtended.html#a4">~AttributeVectorEntryExtended</a>()<font class="keyword"></font>
00106 <font class="keyword">    </font>{
00107     }
00108 
00109     <font class="keywordtype">void</font>
<a name="l00110"></a><a class="code" href="classAttributeVectorEntryExtended.html#a5">00110</a>     <a class="code" href="classAttributeVectorEntry.html#a4">clear</a>()<font class="keyword"></font>
00111 <font class="keyword">    </font>{
00112         <a class="code" href="classAttributeVectorEntry.html#a4">AttributeVectorEntry::clear</a>();
00113 
00114         m_uri.clear();
00115         m_localName.clear();
00116     }
00117 
<a name="l00118"></a><a class="code" href="classAttributeVectorEntryExtended.html#m0">00118</a>     XMLChVectorType     m_uri;
<a name="l00119"></a><a class="code" href="classAttributeVectorEntryExtended.html#m1">00119</a>     XMLChVectorType     m_localName;
00120 };
00121 
00122 
00123 
00124 XALAN_CPP_NAMESPACE_END
00125 
00126 
00127 
00128 <font class="preprocessor">#endif  // ATTRIBUTEVECTORENTRY_HEADER_GUARD_1357924680</font>
</font></pre></div><p align="center"><a href="diagramnotes.html">Interpreting class diagrams</a></p>
<p><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
<i><A href="http://www.stack.nl/~dimitri/doxygen/">Doxygen</A> and 
<A href="http://www.research.att.com/sw/tools/graphviz/">GraphViz</A> are used to generate this API documentation from the Xalan-C header files.</I></FONT></p>

<TABLE border="0" cellpadding="0" cellspacing="0" width="820"><TR><TD bgcolor="#0086b2"><IMG height="1" src="../resources/dot.gif" width="1" alt="dot"></TD></TR></TABLE>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="80%">
	<TR>
		<TD WIDTH="80%" VALIGN="TOP">
			<P ALIGN="CENTER"><B>Xalan-C++ XSLT Processor Version 1.10</B><BR>
			Copyright &copy; 1999-2004 The Apache Software Foundation. All Rights Reserved.</i></p>
		</TD>
	</TR>
	<TR>
		<TD WIDTH="100%">
			<P ALIGN="CENTER"><IMG SRC="ApacheLogo.jpg" WIDTH="387" HEIGHT="100" ALIGN="BOTTOM" BORDER="0" ALT="Apache Logo">
		</TD>
	</TR>
</TABLE>
