Metahuman_DNA_Calibration/docs/doxygen/build/html/namespacepma.html
2022-11-29 14:58:38 +01:00

614 lines
49 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.4"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DNA Calib: pma Namespace Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">DNA Calib<span id="projectnumber">&#160;1.1</span>
</div>
<div id="projectbrief">Project brief</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.4 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search",'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#namespaces">Namespaces</a> &#124;
<a href="#nested-classes">Classes</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle"><div class="title">pma Namespace Reference</div></div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="namespaces" name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:namespacepma_1_1impl"><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepma_1_1impl.html">impl</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpma_1_1AlignedMemoryResource.html">AlignedMemoryResource</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A <a class="el" href="classpma_1_1MemoryResource.html" title="MemoryResource is an abstract class that allows the implementation of polymorphic allocators.">MemoryResource</a> that honors alignment requirements. <a href="classpma_1_1AlignedMemoryResource.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpma_1_1ArenaMemoryResource.html">ArenaMemoryResource</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Serves allocations from a preallocated memory region. <a href="classpma_1_1ArenaMemoryResource.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structpma_1_1DefaultInstanceCreator.html">DefaultInstanceCreator</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structpma_1_1DefaultInstanceCreator_3_01dna_1_1BinaryStreamReader_01_4.html">DefaultInstanceCreator&lt; dna::BinaryStreamReader &gt;</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structpma_1_1DefaultInstanceCreator_3_01dna_1_1BinaryStreamWriter_01_4.html">DefaultInstanceCreator&lt; dna::BinaryStreamWriter &gt;</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structpma_1_1DefaultInstanceCreator_3_01dna_1_1JSONStreamReader_01_4.html">DefaultInstanceCreator&lt; dna::JSONStreamReader &gt;</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structpma_1_1DefaultInstanceCreator_3_01dna_1_1JSONStreamWriter_01_4.html">DefaultInstanceCreator&lt; dna::JSONStreamWriter &gt;</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structpma_1_1DefaultInstanceCreator_3_01dnac_1_1DNACalibDNAReader_01_4.html">DefaultInstanceCreator&lt; dnac::DNACalibDNAReader &gt;</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structpma_1_1DefaultInstanceCreator_3_01trio_1_1FileStream_01_4.html">DefaultInstanceCreator&lt; trio::FileStream &gt;</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structpma_1_1DefaultInstanceCreator_3_01trio_1_1MemoryMappedFileStream_01_4.html">DefaultInstanceCreator&lt; trio::MemoryMappedFileStream &gt;</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structpma_1_1DefaultInstanceCreator_3_01trio_1_1MemoryStream_01_4.html">DefaultInstanceCreator&lt; trio::MemoryStream &gt;</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structpma_1_1DefaultInstanceDestroyer.html">DefaultInstanceDestroyer</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structpma_1_1DefaultInstanceDestroyer_3_01dna_1_1BinaryStreamReader_01_4.html">DefaultInstanceDestroyer&lt; dna::BinaryStreamReader &gt;</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structpma_1_1DefaultInstanceDestroyer_3_01dna_1_1BinaryStreamWriter_01_4.html">DefaultInstanceDestroyer&lt; dna::BinaryStreamWriter &gt;</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structpma_1_1DefaultInstanceDestroyer_3_01dna_1_1JSONStreamReader_01_4.html">DefaultInstanceDestroyer&lt; dna::JSONStreamReader &gt;</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structpma_1_1DefaultInstanceDestroyer_3_01dna_1_1JSONStreamWriter_01_4.html">DefaultInstanceDestroyer&lt; dna::JSONStreamWriter &gt;</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structpma_1_1DefaultInstanceDestroyer_3_01dnac_1_1DNACalibDNAReader_01_4.html">DefaultInstanceDestroyer&lt; dnac::DNACalibDNAReader &gt;</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structpma_1_1DefaultInstanceDestroyer_3_01trio_1_1FileStream_01_4.html">DefaultInstanceDestroyer&lt; trio::FileStream &gt;</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structpma_1_1DefaultInstanceDestroyer_3_01trio_1_1MemoryMappedFileStream_01_4.html">DefaultInstanceDestroyer&lt; trio::MemoryMappedFileStream &gt;</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structpma_1_1DefaultInstanceDestroyer_3_01trio_1_1MemoryStream_01_4.html">DefaultInstanceDestroyer&lt; trio::MemoryStream &gt;</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpma_1_1DefaultMemoryResource.html">DefaultMemoryResource</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A <a class="el" href="classpma_1_1MemoryResource.html" title="MemoryResource is an abstract class that allows the implementation of polymorphic allocators.">MemoryResource</a> that delegates to malloc / free. <a href="classpma_1_1DefaultMemoryResource.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structpma_1_1Delete.html">Delete</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structpma_1_1Delete_3_01T_0f_0e_4.html">Delete&lt; T[]&gt;</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structpma_1_1FactoryCreate.html">FactoryCreate</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structpma_1_1FactoryDestroy.html">FactoryDestroy</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpma_1_1MemoryResource.html">MemoryResource</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classpma_1_1MemoryResource.html" title="MemoryResource is an abstract class that allows the implementation of polymorphic allocators.">MemoryResource</a> is an abstract class that allows the implementation of polymorphic allocators. <a href="classpma_1_1MemoryResource.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structpma_1_1New.html">New</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structpma_1_1New_3_01T_0f_0e_4.html">New&lt; T[]&gt;</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpma_1_1PolyAllocator.html">PolyAllocator</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpma_1_1ScopedPtr.html">ScopedPtr</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Takes ownership over the given pointer and handles it's lifetime. <a href="classpma_1_1ScopedPtr.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="typedef-members" name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:ae5d060484bbf3a0aa543d80d3f3257fb"><td class="memTemplParams" colspan="2">template&lt;typename T , typename Allocator = PolyAllocator&lt;T&gt;&gt; </td></tr>
<tr class="memitem:ae5d060484bbf3a0aa543d80d3f3257fb"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacepma.html#ae5d060484bbf3a0aa543d80d3f3257fb">String</a> = std::basic_string&lt; T, std::char_traits&lt; T &gt;, Allocator &gt;</td></tr>
<tr class="separator:ae5d060484bbf3a0aa543d80d3f3257fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2d6fe21d674b98f7f9bc8dc3a2776cb9"><td class="memTemplParams" colspan="2">template&lt;typename T , typename Allocator = PolyAllocator&lt;T&gt;&gt; </td></tr>
<tr class="memitem:a2d6fe21d674b98f7f9bc8dc3a2776cb9"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacepma.html#a2d6fe21d674b98f7f9bc8dc3a2776cb9">Vector</a> = std::vector&lt; T, Allocator &gt;</td></tr>
<tr class="separator:a2d6fe21d674b98f7f9bc8dc3a2776cb9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a66acdf887e847cb2662b905e682b0132"><td class="memTemplParams" colspan="2">template&lt;typename T , typename Allocator = PolyAllocator&lt;Vector&lt;T&gt; &gt;&gt; </td></tr>
<tr class="memitem:a66acdf887e847cb2662b905e682b0132"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacepma.html#a66acdf887e847cb2662b905e682b0132">Matrix</a> = <a class="el" href="namespacepma.html#a2d6fe21d674b98f7f9bc8dc3a2776cb9">Vector</a>&lt; <a class="el" href="namespacepma.html#a2d6fe21d674b98f7f9bc8dc3a2776cb9">Vector</a>&lt; T &gt;, Allocator &gt;</td></tr>
<tr class="separator:a66acdf887e847cb2662b905e682b0132"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2b7ddbf324d74a36627c64f16b066d53"><td class="memTemplParams" colspan="2">template&lt;typename T , typename Allocator = PolyAllocator&lt;T&gt;&gt; </td></tr>
<tr class="memitem:a2b7ddbf324d74a36627c64f16b066d53"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacepma.html#a2b7ddbf324d74a36627c64f16b066d53">List</a> = <a class="el" href="SPyUS_2CMakeLists_8txt.html#a295733ec42441519c13cc7defd9c723b">std::list</a>&lt; T, Allocator &gt;</td></tr>
<tr class="separator:a2b7ddbf324d74a36627c64f16b066d53"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7aa108f1780825b08131eb9ee7ff1fd2"><td class="memTemplParams" colspan="2">template&lt;typename T , typename Allocator = PolyAllocator&lt;T&gt;&gt; </td></tr>
<tr class="memitem:a7aa108f1780825b08131eb9ee7ff1fd2"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacepma.html#a7aa108f1780825b08131eb9ee7ff1fd2">Set</a> = <a class="el" href="SPyUS_2CMakeLists_8txt.html#a36355bd6f100c6d8c183b00070b6f007">std::set</a>&lt; T, std::less&lt; T &gt;, Allocator &gt;</td></tr>
<tr class="separator:a7aa108f1780825b08131eb9ee7ff1fd2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa4a7d53c17b0073cbf7c83622dffcfd1"><td class="memTemplParams" colspan="2">template&lt;typename T , typename Allocator = PolyAllocator&lt;T&gt;&gt; </td></tr>
<tr class="memitem:aa4a7d53c17b0073cbf7c83622dffcfd1"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacepma.html#aa4a7d53c17b0073cbf7c83622dffcfd1">UnorderedSet</a> = std::unordered_set&lt; T, std::hash&lt; T &gt;, std::equal_to&lt; T &gt;, Allocator &gt;</td></tr>
<tr class="separator:aa4a7d53c17b0073cbf7c83622dffcfd1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0477a3dc053bdee8c8943dfcfa1352f0"><td class="memTemplParams" colspan="2">template&lt;typename K , typename V , typename Allocator = PolyAllocator&lt;std::pair&lt;const K, V&gt; &gt;&gt; </td></tr>
<tr class="memitem:a0477a3dc053bdee8c8943dfcfa1352f0"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacepma.html#a0477a3dc053bdee8c8943dfcfa1352f0">Map</a> = std::map&lt; K, V, std::less&lt; K &gt;, Allocator &gt;</td></tr>
<tr class="separator:a0477a3dc053bdee8c8943dfcfa1352f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ada0fd0f9404c2e6f4bfcf09e36428621"><td class="memTemplParams" colspan="2">template&lt;typename K , typename V , typename Allocator = PolyAllocator&lt;std::pair&lt;const K, V&gt; &gt;&gt; </td></tr>
<tr class="memitem:ada0fd0f9404c2e6f4bfcf09e36428621"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacepma.html#ada0fd0f9404c2e6f4bfcf09e36428621">UnorderedMap</a> = std::unordered_map&lt; K, V, std::hash&lt; K &gt;, std::equal_to&lt; K &gt;, Allocator &gt;</td></tr>
<tr class="separator:ada0fd0f9404c2e6f4bfcf09e36428621"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8a889fca042c1a201a8c7f3c822e02ac"><td class="memTemplParams" colspan="2">template&lt;class TTarget , class TBase = TTarget&gt; </td></tr>
<tr class="memitem:a8a889fca042c1a201a8c7f3c822e02ac"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacepma.html#a8a889fca042c1a201a8c7f3c822e02ac">UniqueInstance</a> = <a class="el" href="classpma_1_1impl_1_1ManagedInstance.html">impl::ManagedInstance</a>&lt; std::unique_ptr&lt; TBase, std::function&lt; void(TBase *)&gt; &gt;, TTarget, TBase &gt;</td></tr>
<tr class="separator:a8a889fca042c1a201a8c7f3c822e02ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae5d5b3ccc2827874d96c73b97ade544e"><td class="memTemplParams" colspan="2">template&lt;class TTarget , class TBase = TTarget&gt; </td></tr>
<tr class="memitem:ae5d5b3ccc2827874d96c73b97ade544e"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacepma.html#ae5d5b3ccc2827874d96c73b97ade544e">SharedInstance</a> = <a class="el" href="classpma_1_1impl_1_1ManagedInstance.html">impl::ManagedInstance</a>&lt; std::shared_ptr&lt; TBase &gt;, TTarget, TBase &gt;</td></tr>
<tr class="separator:ae5d5b3ccc2827874d96c73b97ade544e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a0f0cc320add70f5fb6af1d2683645e97"><td class="memTemplParams" colspan="2">template&lt;typename T , std::size_t TAlignment, class TDefaultMemoryResource , typename U , std::size_t UAlignment, class UDefaultMemoryResource &gt; </td></tr>
<tr class="memitem:a0f0cc320add70f5fb6af1d2683645e97"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacepma.html#a0f0cc320add70f5fb6af1d2683645e97">operator==</a> (const <a class="el" href="classpma_1_1PolyAllocator.html">PolyAllocator</a>&lt; T, TAlignment, TDefaultMemoryResource &gt; &amp;lhs, const <a class="el" href="classpma_1_1PolyAllocator.html">PolyAllocator</a>&lt; U, UAlignment, UDefaultMemoryResource &gt; &amp;rhs)</td></tr>
<tr class="separator:a0f0cc320add70f5fb6af1d2683645e97"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a301b1b95dbf1313ab014aa4d93004f52"><td class="memTemplParams" colspan="2">template&lt;typename T , std::size_t TAlignment, class TDefaultMemoryResource , typename U , std::size_t UAlignment, class UDefaultMemoryResource &gt; </td></tr>
<tr class="memitem:a301b1b95dbf1313ab014aa4d93004f52"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacepma.html#a301b1b95dbf1313ab014aa4d93004f52">operator!=</a> (const <a class="el" href="classpma_1_1PolyAllocator.html">PolyAllocator</a>&lt; T, TAlignment, TDefaultMemoryResource &gt; &amp;lhs, const <a class="el" href="classpma_1_1PolyAllocator.html">PolyAllocator</a>&lt; U, UAlignment, UDefaultMemoryResource &gt; &amp;rhs)</td></tr>
<tr class="separator:a301b1b95dbf1313ab014aa4d93004f52"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a64805040921b916b618da85c7b1b52b6"><td class="memTemplParams" colspan="2">template&lt;class T , class TCreator , class TDestroyer , typename ... Args, typename Base = typename std::remove_pointer &lt; decltype(TCreator{} (std::declval&lt;Args&gt;()...)) &gt; ::type&gt; </td></tr>
<tr class="memitem:a64805040921b916b618da85c7b1b52b6"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classpma_1_1ScopedPtr.html">ScopedPtr</a>&lt; Base, TDestroyer &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacepma.html#a64805040921b916b618da85c7b1b52b6">makeScoped</a> (Args &amp;&amp;... args)</td></tr>
<tr class="memdesc:a64805040921b916b618da85c7b1b52b6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Syntactic sugar for creating instances wrapped in a <a class="el" href="classpma_1_1ScopedPtr.html" title="Takes ownership over the given pointer and handles it&#39;s lifetime.">ScopedPtr</a>. <a href="namespacepma.html#a64805040921b916b618da85c7b1b52b6">More...</a><br /></td></tr>
<tr class="separator:a64805040921b916b618da85c7b1b52b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7a64f35105cb3740a4fe55d119791810"><td class="memTemplParams" colspan="2">template&lt;class T , template&lt; class ... &gt; class TCreatorTemplate, template&lt; class ... &gt; class TDestroyerTemplate, typename ... Args&gt; </td></tr>
<tr class="memitem:a7a64f35105cb3740a4fe55d119791810"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classpma_1_1ScopedPtr.html">ScopedPtr</a>&lt; T, TDestroyerTemplate&lt; T &gt; &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacepma.html#a7a64f35105cb3740a4fe55d119791810">makeScoped</a> (Args &amp;&amp;... args)</td></tr>
<tr class="separator:a7a64f35105cb3740a4fe55d119791810"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af6fd07e6cb33f1e87c818f3562c3eaba"><td class="memTemplParams" colspan="2">template&lt;class T , typename ... Args&gt; </td></tr>
<tr class="memitem:af6fd07e6cb33f1e87c818f3562c3eaba"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classpma_1_1ScopedPtr.html">ScopedPtr</a>&lt; T, typename <a class="el" href="structpma_1_1DefaultInstanceDestroyer.html">DefaultInstanceDestroyer</a>&lt; T &gt;::type &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacepma.html#af6fd07e6cb33f1e87c818f3562c3eaba">makeScoped</a> (Args &amp;&amp;... args)</td></tr>
<tr class="separator:af6fd07e6cb33f1e87c818f3562c3eaba"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a08f1bb4c76dacceca5d131ea988130c6"><td class="memItemLeft" align="right" valign="top">std::uintptr_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepma.html#a08f1bb4c76dacceca5d131ea988130c6">alignAddress</a> (std::uintptr_t address, std::size_t alignment)</td></tr>
<tr class="separator:a08f1bb4c76dacceca5d131ea988130c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae9f76d74a60814f55c77aff5c80c56e1"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:ae9f76d74a60814f55c77aff5c80c56e1"><td class="memTemplItemLeft" align="right" valign="top">T *&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacepma.html#ae9f76d74a60814f55c77aff5c80c56e1">alignPointer</a> (T *ptr, std::size_t alignment)</td></tr>
<tr class="separator:ae9f76d74a60814f55c77aff5c80c56e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Typedef Documentation</h2>
<a id="a2b7ddbf324d74a36627c64f16b066d53" name="a2b7ddbf324d74a36627c64f16b066d53"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2b7ddbf324d74a36627c64f16b066d53">&#9670;&nbsp;</a></span>List</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T , typename Allocator = PolyAllocator&lt;T&gt;&gt; </div>
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="namespacepma.html#a2b7ddbf324d74a36627c64f16b066d53">pma::List</a> = typedef <a class="el" href="SPyUS_2CMakeLists_8txt.html#a295733ec42441519c13cc7defd9c723b">std::list</a>&lt;T, Allocator&gt;</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a0477a3dc053bdee8c8943dfcfa1352f0" name="a0477a3dc053bdee8c8943dfcfa1352f0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0477a3dc053bdee8c8943dfcfa1352f0">&#9670;&nbsp;</a></span>Map</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename K , typename V , typename Allocator = PolyAllocator&lt;std::pair&lt;const K, V&gt; &gt;&gt; </div>
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="namespacepma.html#a0477a3dc053bdee8c8943dfcfa1352f0">pma::Map</a> = typedef std::map&lt;K, V, std::less&lt;K&gt;, Allocator&gt;</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a66acdf887e847cb2662b905e682b0132" name="a66acdf887e847cb2662b905e682b0132"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a66acdf887e847cb2662b905e682b0132">&#9670;&nbsp;</a></span>Matrix</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T , typename Allocator = PolyAllocator&lt;Vector&lt;T&gt; &gt;&gt; </div>
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="namespacepma.html#a66acdf887e847cb2662b905e682b0132">pma::Matrix</a> = typedef <a class="el" href="namespacepma.html#a2d6fe21d674b98f7f9bc8dc3a2776cb9">Vector</a>&lt;<a class="el" href="namespacepma.html#a2d6fe21d674b98f7f9bc8dc3a2776cb9">Vector</a>&lt;T&gt;, Allocator&gt;</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a7aa108f1780825b08131eb9ee7ff1fd2" name="a7aa108f1780825b08131eb9ee7ff1fd2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7aa108f1780825b08131eb9ee7ff1fd2">&#9670;&nbsp;</a></span>Set</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T , typename Allocator = PolyAllocator&lt;T&gt;&gt; </div>
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="namespacepma.html#a7aa108f1780825b08131eb9ee7ff1fd2">pma::Set</a> = typedef <a class="el" href="SPyUS_2CMakeLists_8txt.html#a36355bd6f100c6d8c183b00070b6f007">std::set</a>&lt;T, std::less&lt;T&gt;, Allocator&gt;</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ae5d5b3ccc2827874d96c73b97ade544e" name="ae5d5b3ccc2827874d96c73b97ade544e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae5d5b3ccc2827874d96c73b97ade544e">&#9670;&nbsp;</a></span>SharedInstance</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class TTarget , class TBase = TTarget&gt; </div>
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="namespacepma.html#ae5d5b3ccc2827874d96c73b97ade544e">pma::SharedInstance</a> = typedef <a class="el" href="classpma_1_1impl_1_1ManagedInstance.html">impl::ManagedInstance</a>&lt;std::shared_ptr&lt;TBase&gt;, TTarget, TBase&gt;</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ae5d060484bbf3a0aa543d80d3f3257fb" name="ae5d060484bbf3a0aa543d80d3f3257fb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae5d060484bbf3a0aa543d80d3f3257fb">&#9670;&nbsp;</a></span>String</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T , typename Allocator = PolyAllocator&lt;T&gt;&gt; </div>
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="namespacepma.html#ae5d060484bbf3a0aa543d80d3f3257fb">pma::String</a> = typedef std::basic_string&lt;T, std::char_traits&lt;T&gt;, Allocator&gt;</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a8a889fca042c1a201a8c7f3c822e02ac" name="a8a889fca042c1a201a8c7f3c822e02ac"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8a889fca042c1a201a8c7f3c822e02ac">&#9670;&nbsp;</a></span>UniqueInstance</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class TTarget , class TBase = TTarget&gt; </div>
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="namespacepma.html#a8a889fca042c1a201a8c7f3c822e02ac">pma::UniqueInstance</a> = typedef <a class="el" href="classpma_1_1impl_1_1ManagedInstance.html">impl::ManagedInstance</a>&lt;std::unique_ptr&lt;TBase, std::function&lt;void (TBase*)&gt; &gt;, TTarget, TBase&gt;</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ada0fd0f9404c2e6f4bfcf09e36428621" name="ada0fd0f9404c2e6f4bfcf09e36428621"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ada0fd0f9404c2e6f4bfcf09e36428621">&#9670;&nbsp;</a></span>UnorderedMap</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename K , typename V , typename Allocator = PolyAllocator&lt;std::pair&lt;const K, V&gt; &gt;&gt; </div>
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="namespacepma.html#ada0fd0f9404c2e6f4bfcf09e36428621">pma::UnorderedMap</a> = typedef std::unordered_map&lt;K, V, std::hash&lt;K&gt;, std::equal_to&lt;K&gt;, Allocator&gt;</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="aa4a7d53c17b0073cbf7c83622dffcfd1" name="aa4a7d53c17b0073cbf7c83622dffcfd1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa4a7d53c17b0073cbf7c83622dffcfd1">&#9670;&nbsp;</a></span>UnorderedSet</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T , typename Allocator = PolyAllocator&lt;T&gt;&gt; </div>
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="namespacepma.html#aa4a7d53c17b0073cbf7c83622dffcfd1">pma::UnorderedSet</a> = typedef std::unordered_set&lt;T, std::hash&lt;T&gt;, std::equal_to&lt;T&gt;, Allocator&gt;</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a2d6fe21d674b98f7f9bc8dc3a2776cb9" name="a2d6fe21d674b98f7f9bc8dc3a2776cb9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2d6fe21d674b98f7f9bc8dc3a2776cb9">&#9670;&nbsp;</a></span>Vector</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T , typename Allocator = PolyAllocator&lt;T&gt;&gt; </div>
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="namespacepma.html#a2d6fe21d674b98f7f9bc8dc3a2776cb9">pma::Vector</a> = typedef std::vector&lt;T, Allocator&gt;</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="a08f1bb4c76dacceca5d131ea988130c6" name="a08f1bb4c76dacceca5d131ea988130c6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a08f1bb4c76dacceca5d131ea988130c6">&#9670;&nbsp;</a></span>alignAddress()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::uintptr_t pma::alignAddress </td>
<td>(</td>
<td class="paramtype">std::uintptr_t&#160;</td>
<td class="paramname"><em>address</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::size_t&#160;</td>
<td class="paramname"><em>alignment</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<div class="fragment"><div class="line"><span class="lineno"> 15</span> {</div>
<div class="line"><span class="lineno"> 16</span> <span class="keyword">const</span> std::size_t mask = alignment - 1ul;</div>
<div class="line"><span class="lineno"> 17</span> assert((alignment &amp; mask) == 0ul);</div>
<div class="line"><span class="lineno"> 18</span> <span class="keywordflow">return</span> (address + mask) &amp; ~mask;</div>
<div class="line"><span class="lineno"> 19</span>}</div>
</div><!-- fragment -->
<p class="reference">Referenced by <a class="el" href="namespacepma.html#ae9f76d74a60814f55c77aff5c80c56e1">alignPointer()</a>.</p>
</div>
</div>
<a id="ae9f76d74a60814f55c77aff5c80c56e1" name="ae9f76d74a60814f55c77aff5c80c56e1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae9f76d74a60814f55c77aff5c80c56e1">&#9670;&nbsp;</a></span>alignPointer()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">T * pma::alignPointer </td>
<td>(</td>
<td class="paramtype">T *&#160;</td>
<td class="paramname"><em>ptr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::size_t&#160;</td>
<td class="paramname"><em>alignment</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<div class="fragment"><div class="line"><span class="lineno"> 22</span> {</div>
<div class="line"><span class="lineno"> 23</span> <span class="keyword">const</span> std::uintptr_t address = <span class="keyword">reinterpret_cast&lt;</span>std::uintptr_t<span class="keyword">&gt;</span>(ptr);</div>
<div class="line"><span class="lineno"> 24</span> <span class="keyword">const</span> std::uintptr_t aligned = <a class="code hl_function" href="AlignedMemoryResource_8cpp.html#a1e2fd36ca37121582814c06f59e756e6">alignAddress</a>(address, alignment);</div>
<div class="line"><span class="lineno"> 25</span> <span class="keywordflow">return</span> <span class="keyword">reinterpret_cast&lt;</span>T*<span class="keyword">&gt;</span>(aligned);</div>
<div class="line"><span class="lineno"> 26</span>}</div>
<div class="ttc" id="aAlignedMemoryResource_8cpp_html_a1e2fd36ca37121582814c06f59e756e6"><div class="ttname"><a href="AlignedMemoryResource_8cpp.html#a1e2fd36ca37121582814c06f59e756e6">alignAddress</a></div><div class="ttdeci">std::uintptr_t alignAddress(std::uintptr_t address, std::size_t alignment)</div><div class="ttdef"><b>Definition:</b> AlignedMemoryResource.cpp:31</div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="namespacepma.html#a08f1bb4c76dacceca5d131ea988130c6">alignAddress()</a>.</p>
<p class="reference">Referenced by <a class="el" href="classpma_1_1ArenaMemoryResource_1_1Impl.html#a674f4a229d1acc0aec8dc5d95a98e1ec">pma::ArenaMemoryResource::Impl::allocate()</a>.</p>
</div>
</div>
<a id="a64805040921b916b618da85c7b1b52b6" name="a64805040921b916b618da85c7b1b52b6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a64805040921b916b618da85c7b1b52b6">&#9670;&nbsp;</a></span>makeScoped() <span class="overload">[1/3]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T , class TCreator , class TDestroyer , typename ... Args, typename Base = typename std::remove_pointer &lt; decltype(TCreator{} (std::declval&lt;Args&gt;()...)) &gt; ::type&gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classpma_1_1ScopedPtr.html">ScopedPtr</a>&lt; Base, TDestroyer &gt; pma::makeScoped </td>
<td>(</td>
<td class="paramtype">Args &amp;&amp;...&#160;</td>
<td class="paramname"><em>args</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Syntactic sugar for creating instances wrapped in a <a class="el" href="classpma_1_1ScopedPtr.html" title="Takes ownership over the given pointer and handles it&#39;s lifetime.">ScopedPtr</a>. </p>
<dl class="section note"><dt>Note</dt><dd>The default behavior is to rely on the <a class="el" href="structpma_1_1New.html">New</a> / <a class="el" href="structpma_1_1Delete.html">Delete</a> pair of lifetime managers, because it's sensible to do so. However, because a significant portion of our abstractions follow the convention of exposing a create / destroy pair of factory functions (where create always returns a raw pointer), there also exists a dedicated <a class="el" href="structpma_1_1FactoryCreate.html">FactoryCreate</a> / <a class="el" href="structpma_1_1FactoryDestroy.html">FactoryDestroy</a> pair of lifetime managers. To change the default behavior in order to utilize a specific lifetime manager pair, specialize the <a class="el" href="structpma_1_1DefaultInstanceCreator.html">DefaultInstanceCreator</a> and <a class="el" href="structpma_1_1DefaultInstanceDestroyer.html">DefaultInstanceDestroyer</a> traits for the types that need different handling. Alternately, it's also possible to pass a custom creator / destroyer on each invocation. </dd></dl>
<div class="fragment"><div class="line"><span class="lineno"> 252</span> {</div>
<div class="line"><span class="lineno"> 253</span> <span class="keyword">static_assert</span>(std::is_same&lt;Base, T&gt;::value ||</div>
<div class="line"><span class="lineno"> 254</span> std::is_base_of&lt;Base, T&gt;::value ||</div>
<div class="line"><span class="lineno"> 255</span> std::is_convertible&lt;T, typename std::add_pointer&lt;Base&gt;::type&gt;::value,</div>
<div class="line"><span class="lineno"> 256</span> <span class="stringliteral">&quot;Incompatible types.&quot;</span>);</div>
<div class="line"><span class="lineno"> 257</span> <span class="keywordflow">return</span> <a class="code hl_class" href="classpma_1_1ScopedPtr.html">ScopedPtr&lt;Base, TDestroyer&gt;</a>{TCreator{} (std::forward&lt;Args&gt;(args)...)};</div>
<div class="line"><span class="lineno"> 258</span>}</div>
<div class="ttc" id="aclasspma_1_1ScopedPtr_html"><div class="ttname"><a href="classpma_1_1ScopedPtr.html">pma::ScopedPtr</a></div><div class="ttdoc">Takes ownership over the given pointer and handles it's lifetime.</div><div class="ttdef"><b>Definition:</b> ScopedPtr.h:116</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a7a64f35105cb3740a4fe55d119791810" name="a7a64f35105cb3740a4fe55d119791810"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7a64f35105cb3740a4fe55d119791810">&#9670;&nbsp;</a></span>makeScoped() <span class="overload">[2/3]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T , template&lt; class ... &gt; class TCreatorTemplate, template&lt; class ... &gt; class TDestroyerTemplate, typename ... Args&gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classpma_1_1ScopedPtr.html">ScopedPtr</a>&lt; T, TDestroyerTemplate&lt; T &gt; &gt; pma::makeScoped </td>
<td>(</td>
<td class="paramtype">Args &amp;&amp;...&#160;</td>
<td class="paramname"><em>args</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<div class="fragment"><div class="line"><span class="lineno"> 261</span> {</div>
<div class="line"><span class="lineno"> 262</span> <span class="keyword">using </span>TCreator = TCreatorTemplate&lt;T&gt;;</div>
<div class="line"><span class="lineno"> 263</span> <span class="keyword">using </span>TDestroyer = TDestroyerTemplate&lt;T&gt;;</div>
<div class="line"><span class="lineno"> 264</span> <span class="keywordflow">return</span> makeScoped&lt;T, TCreator, TDestroyer&gt;(std::forward&lt;Args&gt;(args)...);</div>
<div class="line"><span class="lineno"> 265</span>}</div>
</div><!-- fragment -->
</div>
</div>
<a id="af6fd07e6cb33f1e87c818f3562c3eaba" name="af6fd07e6cb33f1e87c818f3562c3eaba"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af6fd07e6cb33f1e87c818f3562c3eaba">&#9670;&nbsp;</a></span>makeScoped() <span class="overload">[3/3]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T , typename ... Args&gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classpma_1_1ScopedPtr.html">ScopedPtr</a>&lt; T, typename <a class="el" href="structpma_1_1DefaultInstanceDestroyer.html">DefaultInstanceDestroyer</a>&lt; T &gt;::type &gt; pma::makeScoped </td>
<td>(</td>
<td class="paramtype">Args &amp;&amp;...&#160;</td>
<td class="paramname"><em>args</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<div class="fragment"><div class="line"><span class="lineno"> 268</span> {</div>
<div class="line"><span class="lineno"> 269</span> <span class="keyword">using </span>TCreator = <span class="keyword">typename</span> <a class="code hl_struct" href="structpma_1_1New.html">DefaultInstanceCreator&lt;T&gt;::type</a>;</div>
<div class="line"><span class="lineno"> 270</span> <span class="keyword">using </span>TDestroyer = <span class="keyword">typename</span> <a class="code hl_struct" href="structpma_1_1Delete.html">DefaultInstanceDestroyer&lt;T&gt;::type</a>;</div>
<div class="line"><span class="lineno"> 271</span> <span class="keywordflow">return</span> makeScoped&lt;T, TCreator, TDestroyer&gt;(std::forward&lt;Args&gt;(args)...);</div>
<div class="line"><span class="lineno"> 272</span>}</div>
<div class="ttc" id="astructpma_1_1Delete_html"><div class="ttname"><a href="structpma_1_1Delete.html">pma::Delete</a></div><div class="ttdef"><b>Definition:</b> ScopedPtr.h:26</div></div>
<div class="ttc" id="astructpma_1_1New_html"><div class="ttname"><a href="structpma_1_1New.html">pma::New</a></div><div class="ttdef"><b>Definition:</b> ScopedPtr.h:17</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a301b1b95dbf1313ab014aa4d93004f52" name="a301b1b95dbf1313ab014aa4d93004f52"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a301b1b95dbf1313ab014aa4d93004f52">&#9670;&nbsp;</a></span>operator!=()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T , std::size_t TAlignment, class TDefaultMemoryResource , typename U , std::size_t UAlignment, class UDefaultMemoryResource &gt; </div>
<table class="memname">
<tr>
<td class="memname">bool pma::operator!= </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classpma_1_1PolyAllocator.html">PolyAllocator</a>&lt; T, TAlignment, TDefaultMemoryResource &gt; &amp;&#160;</td>
<td class="paramname"><em>lhs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classpma_1_1PolyAllocator.html">PolyAllocator</a>&lt; U, UAlignment, UDefaultMemoryResource &gt; &amp;&#160;</td>
<td class="paramname"><em>rhs</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<div class="fragment"><div class="line"><span class="lineno"> 167</span>{</div>
<div class="line"><span class="lineno"> 168</span> <span class="keywordflow">return</span> !(lhs == rhs);</div>
<div class="line"><span class="lineno"> 169</span>}</div>
</div><!-- fragment -->
</div>
</div>
<a id="a0f0cc320add70f5fb6af1d2683645e97" name="a0f0cc320add70f5fb6af1d2683645e97"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0f0cc320add70f5fb6af1d2683645e97">&#9670;&nbsp;</a></span>operator==()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T , std::size_t TAlignment, class TDefaultMemoryResource , typename U , std::size_t UAlignment, class UDefaultMemoryResource &gt; </div>
<table class="memname">
<tr>
<td class="memname">bool pma::operator== </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classpma_1_1PolyAllocator.html">PolyAllocator</a>&lt; T, TAlignment, TDefaultMemoryResource &gt; &amp;&#160;</td>
<td class="paramname"><em>lhs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classpma_1_1PolyAllocator.html">PolyAllocator</a>&lt; U, UAlignment, UDefaultMemoryResource &gt; &amp;&#160;</td>
<td class="paramname"><em>rhs</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<div class="fragment"><div class="line"><span class="lineno"> 159</span>{</div>
<div class="line"><span class="lineno"> 160</span> <span class="keywordflow">return</span> (TAlignment == UAlignment &amp;&amp; lhs.getMemoryResource() == rhs.getMemoryResource());</div>
<div class="line"><span class="lineno"> 161</span>}</div>
</div><!-- fragment -->
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4
</small></address>
</body>
</html>