<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>Xalan-C++ API : Main Page</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<!-- The head section is copied from Doxygen 1.7.1 generated default output -->
<body>
<h2 align="center">Xalan-C++ API Documentation</h2>
<h3 align="center"><a href="../index.html">The Xalan C++ XSLT Processor Version 1.11</a></h3>
<hr/>
<!-- Generated by Doxygen 1.7.1 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
      <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#pub-types">Public Types</a>  </div>
  <div class="headertitle">
<h1>MemoryManagedConstructionTraits&lt; XalanNamespace &gt; Struct Template Reference</h1>  </div>
</div>
<div class="contents">
<!-- doxytag: class="MemoryManagedConstructionTraits&lt; XalanNamespace &gt;" -->
<p><code>#include &lt;<a class="el" href="XalanNamespace_8hpp_source.html">XalanNamespace.hpp</a>&gt;</code></p>

<p><a href="structMemoryManagedConstructionTraits_3_01XalanNamespace_01_4-members.html">List of all members.</a></p>
<h2><a name="pub-types"></a>
Public Types</h2>
<ul>
<li>typedef <br class="typebreak"/>
<a class="el" href="structConstructWithMemoryManager.html">ConstructWithMemoryManager</a><br class="typebreak"/>
&lt; <a class="el" href="classXalanNamespace.html">XalanNamespace</a> &gt; <a class="el" href="structMemoryManagedConstructionTraits_3_01XalanNamespace_01_4.html#aac48409c3b1eb1cfab716fd6bcffeff3">Constructor</a>
</ul>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<h3>template&lt;&gt;<br/>
 struct MemoryManagedConstructionTraits&lt; XalanNamespace &gt;</h3>


<p>Definition at line <a class="el" href="XalanNamespace_8hpp_source.html#l00184">184</a> of file <a class="el" href="XalanNamespace_8hpp_source.html">XalanNamespace.hpp</a>.</p>
<hr/><h2>Member Typedef Documentation</h2>
<a class="anchor" id="aac48409c3b1eb1cfab716fd6bcffeff3"></a><!-- doxytag: member="MemoryManagedConstructionTraits&lt; XalanNamespace &gt;::Constructor" ref="aac48409c3b1eb1cfab716fd6bcffeff3" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="structConstructWithMemoryManager.html">ConstructWithMemoryManager</a>&lt; <a class="el" href="classXalanNamespace.html">XalanNamespace</a> &gt; <a class="el" href="structMemoryManagedConstructionTraits.html">MemoryManagedConstructionTraits</a>&lt; <a class="el" href="classXalanNamespace.html">XalanNamespace</a> &gt;::<a class="el" href="structConstructWithMemoryManager.html">Constructor</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="XalanNamespace_8hpp_source.html#l00184">184</a> of file <a class="el" href="XalanNamespace_8hpp_source.html">XalanNamespace.hpp</a>.</p>

</div>
</div>
<hr/>The documentation for this struct was generated from the following file:<ul>
<li><a class="el" href="XalanNamespace_8hpp_source.html">XalanNamespace.hpp</a></li>
</ul>
</div>
<p align="center"><a href="graph_legend.html">Interpreting class diagrams</a></p>
<p><font color="#000000" face="arial,helvetica,sanserif" size="-1">
<i><a href="http://www.doxygen.org/">Doxygen</a> and 
<a href="http://www.graphviz.org/">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="80%">
 <tr>
  <td width="80%" valign="top">
	<p align="center"><b>Xalan-C++ XSLT Processor Version 1.11</b><br/>
	Copyright &copy; 1999-2012 The Apache Software Foundation.<br/>
	All Rights Reserved.</p>
  </td>
 </tr>
 <tr>
  <td width="100%">
	<p align="center"><img src="asf_logo_wide.gif" width="268" height="25" align="bottom" border="0" alt="Apache Logo">
  </td>
 </tr>
</table>
</body>
</html>
