614 lines
49 KiB
HTML
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"> 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&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&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> |
|
|
<a href="#nested-classes">Classes</a> |
|
|
<a href="#typedef-members">Typedefs</a> |
|
|
<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  </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"> </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  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpma_1_1AlignedMemoryResource.html">AlignedMemoryResource</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </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"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpma_1_1ArenaMemoryResource.html">ArenaMemoryResource</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </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"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </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"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structpma_1_1DefaultInstanceCreator_3_01dna_1_1BinaryStreamReader_01_4.html">DefaultInstanceCreator< dna::BinaryStreamReader ></a></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structpma_1_1DefaultInstanceCreator_3_01dna_1_1BinaryStreamWriter_01_4.html">DefaultInstanceCreator< dna::BinaryStreamWriter ></a></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structpma_1_1DefaultInstanceCreator_3_01dna_1_1JSONStreamReader_01_4.html">DefaultInstanceCreator< dna::JSONStreamReader ></a></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structpma_1_1DefaultInstanceCreator_3_01dna_1_1JSONStreamWriter_01_4.html">DefaultInstanceCreator< dna::JSONStreamWriter ></a></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structpma_1_1DefaultInstanceCreator_3_01dnac_1_1DNACalibDNAReader_01_4.html">DefaultInstanceCreator< dnac::DNACalibDNAReader ></a></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structpma_1_1DefaultInstanceCreator_3_01trio_1_1FileStream_01_4.html">DefaultInstanceCreator< trio::FileStream ></a></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structpma_1_1DefaultInstanceCreator_3_01trio_1_1MemoryMappedFileStream_01_4.html">DefaultInstanceCreator< trio::MemoryMappedFileStream ></a></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structpma_1_1DefaultInstanceCreator_3_01trio_1_1MemoryStream_01_4.html">DefaultInstanceCreator< trio::MemoryStream ></a></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </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"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structpma_1_1DefaultInstanceDestroyer_3_01dna_1_1BinaryStreamReader_01_4.html">DefaultInstanceDestroyer< dna::BinaryStreamReader ></a></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structpma_1_1DefaultInstanceDestroyer_3_01dna_1_1BinaryStreamWriter_01_4.html">DefaultInstanceDestroyer< dna::BinaryStreamWriter ></a></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structpma_1_1DefaultInstanceDestroyer_3_01dna_1_1JSONStreamReader_01_4.html">DefaultInstanceDestroyer< dna::JSONStreamReader ></a></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structpma_1_1DefaultInstanceDestroyer_3_01dna_1_1JSONStreamWriter_01_4.html">DefaultInstanceDestroyer< dna::JSONStreamWriter ></a></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structpma_1_1DefaultInstanceDestroyer_3_01dnac_1_1DNACalibDNAReader_01_4.html">DefaultInstanceDestroyer< dnac::DNACalibDNAReader ></a></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structpma_1_1DefaultInstanceDestroyer_3_01trio_1_1FileStream_01_4.html">DefaultInstanceDestroyer< trio::FileStream ></a></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structpma_1_1DefaultInstanceDestroyer_3_01trio_1_1MemoryMappedFileStream_01_4.html">DefaultInstanceDestroyer< trio::MemoryMappedFileStream ></a></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structpma_1_1DefaultInstanceDestroyer_3_01trio_1_1MemoryStream_01_4.html">DefaultInstanceDestroyer< trio::MemoryStream ></a></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpma_1_1DefaultMemoryResource.html">DefaultMemoryResource</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </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"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </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"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structpma_1_1Delete_3_01T_0f_0e_4.html">Delete< T[]></a></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </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"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </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"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpma_1_1MemoryResource.html">MemoryResource</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </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"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </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"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structpma_1_1New_3_01T_0f_0e_4.html">New< T[]></a></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </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"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpma_1_1ScopedPtr.html">ScopedPtr</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </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"> </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<typename T , typename Allocator = PolyAllocator<T>> </td></tr>
|
|
<tr class="memitem:ae5d060484bbf3a0aa543d80d3f3257fb"><td class="memTemplItemLeft" align="right" valign="top">using </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacepma.html#ae5d060484bbf3a0aa543d80d3f3257fb">String</a> = std::basic_string< T, std::char_traits< T >, Allocator ></td></tr>
|
|
<tr class="separator:ae5d060484bbf3a0aa543d80d3f3257fb"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a2d6fe21d674b98f7f9bc8dc3a2776cb9"><td class="memTemplParams" colspan="2">template<typename T , typename Allocator = PolyAllocator<T>> </td></tr>
|
|
<tr class="memitem:a2d6fe21d674b98f7f9bc8dc3a2776cb9"><td class="memTemplItemLeft" align="right" valign="top">using </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacepma.html#a2d6fe21d674b98f7f9bc8dc3a2776cb9">Vector</a> = std::vector< T, Allocator ></td></tr>
|
|
<tr class="separator:a2d6fe21d674b98f7f9bc8dc3a2776cb9"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a66acdf887e847cb2662b905e682b0132"><td class="memTemplParams" colspan="2">template<typename T , typename Allocator = PolyAllocator<Vector<T> >> </td></tr>
|
|
<tr class="memitem:a66acdf887e847cb2662b905e682b0132"><td class="memTemplItemLeft" align="right" valign="top">using </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacepma.html#a66acdf887e847cb2662b905e682b0132">Matrix</a> = <a class="el" href="namespacepma.html#a2d6fe21d674b98f7f9bc8dc3a2776cb9">Vector</a>< <a class="el" href="namespacepma.html#a2d6fe21d674b98f7f9bc8dc3a2776cb9">Vector</a>< T >, Allocator ></td></tr>
|
|
<tr class="separator:a66acdf887e847cb2662b905e682b0132"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a2b7ddbf324d74a36627c64f16b066d53"><td class="memTemplParams" colspan="2">template<typename T , typename Allocator = PolyAllocator<T>> </td></tr>
|
|
<tr class="memitem:a2b7ddbf324d74a36627c64f16b066d53"><td class="memTemplItemLeft" align="right" valign="top">using </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>< T, Allocator ></td></tr>
|
|
<tr class="separator:a2b7ddbf324d74a36627c64f16b066d53"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a7aa108f1780825b08131eb9ee7ff1fd2"><td class="memTemplParams" colspan="2">template<typename T , typename Allocator = PolyAllocator<T>> </td></tr>
|
|
<tr class="memitem:a7aa108f1780825b08131eb9ee7ff1fd2"><td class="memTemplItemLeft" align="right" valign="top">using </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>< T, std::less< T >, Allocator ></td></tr>
|
|
<tr class="separator:a7aa108f1780825b08131eb9ee7ff1fd2"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aa4a7d53c17b0073cbf7c83622dffcfd1"><td class="memTemplParams" colspan="2">template<typename T , typename Allocator = PolyAllocator<T>> </td></tr>
|
|
<tr class="memitem:aa4a7d53c17b0073cbf7c83622dffcfd1"><td class="memTemplItemLeft" align="right" valign="top">using </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacepma.html#aa4a7d53c17b0073cbf7c83622dffcfd1">UnorderedSet</a> = std::unordered_set< T, std::hash< T >, std::equal_to< T >, Allocator ></td></tr>
|
|
<tr class="separator:aa4a7d53c17b0073cbf7c83622dffcfd1"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a0477a3dc053bdee8c8943dfcfa1352f0"><td class="memTemplParams" colspan="2">template<typename K , typename V , typename Allocator = PolyAllocator<std::pair<const K, V> >> </td></tr>
|
|
<tr class="memitem:a0477a3dc053bdee8c8943dfcfa1352f0"><td class="memTemplItemLeft" align="right" valign="top">using </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacepma.html#a0477a3dc053bdee8c8943dfcfa1352f0">Map</a> = std::map< K, V, std::less< K >, Allocator ></td></tr>
|
|
<tr class="separator:a0477a3dc053bdee8c8943dfcfa1352f0"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ada0fd0f9404c2e6f4bfcf09e36428621"><td class="memTemplParams" colspan="2">template<typename K , typename V , typename Allocator = PolyAllocator<std::pair<const K, V> >> </td></tr>
|
|
<tr class="memitem:ada0fd0f9404c2e6f4bfcf09e36428621"><td class="memTemplItemLeft" align="right" valign="top">using </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacepma.html#ada0fd0f9404c2e6f4bfcf09e36428621">UnorderedMap</a> = std::unordered_map< K, V, std::hash< K >, std::equal_to< K >, Allocator ></td></tr>
|
|
<tr class="separator:ada0fd0f9404c2e6f4bfcf09e36428621"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a8a889fca042c1a201a8c7f3c822e02ac"><td class="memTemplParams" colspan="2">template<class TTarget , class TBase = TTarget> </td></tr>
|
|
<tr class="memitem:a8a889fca042c1a201a8c7f3c822e02ac"><td class="memTemplItemLeft" align="right" valign="top">using </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>< std::unique_ptr< TBase, std::function< void(TBase *)> >, TTarget, TBase ></td></tr>
|
|
<tr class="separator:a8a889fca042c1a201a8c7f3c822e02ac"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ae5d5b3ccc2827874d96c73b97ade544e"><td class="memTemplParams" colspan="2">template<class TTarget , class TBase = TTarget> </td></tr>
|
|
<tr class="memitem:ae5d5b3ccc2827874d96c73b97ade544e"><td class="memTemplItemLeft" align="right" valign="top">using </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>< std::shared_ptr< TBase >, TTarget, TBase ></td></tr>
|
|
<tr class="separator:ae5d5b3ccc2827874d96c73b97ade544e"><td class="memSeparator" colspan="2"> </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<typename T , std::size_t TAlignment, class TDefaultMemoryResource , typename U , std::size_t UAlignment, class UDefaultMemoryResource > </td></tr>
|
|
<tr class="memitem:a0f0cc320add70f5fb6af1d2683645e97"><td class="memTemplItemLeft" align="right" valign="top">bool </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>< T, TAlignment, TDefaultMemoryResource > &lhs, const <a class="el" href="classpma_1_1PolyAllocator.html">PolyAllocator</a>< U, UAlignment, UDefaultMemoryResource > &rhs)</td></tr>
|
|
<tr class="separator:a0f0cc320add70f5fb6af1d2683645e97"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a301b1b95dbf1313ab014aa4d93004f52"><td class="memTemplParams" colspan="2">template<typename T , std::size_t TAlignment, class TDefaultMemoryResource , typename U , std::size_t UAlignment, class UDefaultMemoryResource > </td></tr>
|
|
<tr class="memitem:a301b1b95dbf1313ab014aa4d93004f52"><td class="memTemplItemLeft" align="right" valign="top">bool </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>< T, TAlignment, TDefaultMemoryResource > &lhs, const <a class="el" href="classpma_1_1PolyAllocator.html">PolyAllocator</a>< U, UAlignment, UDefaultMemoryResource > &rhs)</td></tr>
|
|
<tr class="separator:a301b1b95dbf1313ab014aa4d93004f52"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a64805040921b916b618da85c7b1b52b6"><td class="memTemplParams" colspan="2">template<class T , class TCreator , class TDestroyer , typename ... Args, typename Base = typename std::remove_pointer < decltype(TCreator{} (std::declval<Args>()...)) > ::type> </td></tr>
|
|
<tr class="memitem:a64805040921b916b618da85c7b1b52b6"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classpma_1_1ScopedPtr.html">ScopedPtr</a>< Base, TDestroyer > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacepma.html#a64805040921b916b618da85c7b1b52b6">makeScoped</a> (Args &&... args)</td></tr>
|
|
<tr class="memdesc:a64805040921b916b618da85c7b1b52b6"><td class="mdescLeft"> </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's lifetime.">ScopedPtr</a>. <a href="namespacepma.html#a64805040921b916b618da85c7b1b52b6">More...</a><br /></td></tr>
|
|
<tr class="separator:a64805040921b916b618da85c7b1b52b6"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a7a64f35105cb3740a4fe55d119791810"><td class="memTemplParams" colspan="2">template<class T , template< class ... > class TCreatorTemplate, template< class ... > class TDestroyerTemplate, typename ... Args> </td></tr>
|
|
<tr class="memitem:a7a64f35105cb3740a4fe55d119791810"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classpma_1_1ScopedPtr.html">ScopedPtr</a>< T, TDestroyerTemplate< T > > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacepma.html#a7a64f35105cb3740a4fe55d119791810">makeScoped</a> (Args &&... args)</td></tr>
|
|
<tr class="separator:a7a64f35105cb3740a4fe55d119791810"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:af6fd07e6cb33f1e87c818f3562c3eaba"><td class="memTemplParams" colspan="2">template<class T , typename ... Args> </td></tr>
|
|
<tr class="memitem:af6fd07e6cb33f1e87c818f3562c3eaba"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classpma_1_1ScopedPtr.html">ScopedPtr</a>< T, typename <a class="el" href="structpma_1_1DefaultInstanceDestroyer.html">DefaultInstanceDestroyer</a>< T >::type > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacepma.html#af6fd07e6cb33f1e87c818f3562c3eaba">makeScoped</a> (Args &&... args)</td></tr>
|
|
<tr class="separator:af6fd07e6cb33f1e87c818f3562c3eaba"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a08f1bb4c76dacceca5d131ea988130c6"><td class="memItemLeft" align="right" valign="top">std::uintptr_t </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"> </td></tr>
|
|
<tr class="memitem:ae9f76d74a60814f55c77aff5c80c56e1"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
|
<tr class="memitem:ae9f76d74a60814f55c77aff5c80c56e1"><td class="memTemplItemLeft" align="right" valign="top">T * </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"> </td></tr>
|
|
</table>
|
|
<h2 class="groupheader">Typedef Documentation</h2>
|
|
<a id="a2b7ddbf324d74a36627c64f16b066d53" name="a2b7ddbf324d74a36627c64f16b066d53"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a2b7ddbf324d74a36627c64f16b066d53">◆ </a></span>List</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename T , typename Allocator = PolyAllocator<T>> </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><T, Allocator></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a0477a3dc053bdee8c8943dfcfa1352f0" name="a0477a3dc053bdee8c8943dfcfa1352f0"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a0477a3dc053bdee8c8943dfcfa1352f0">◆ </a></span>Map</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename K , typename V , typename Allocator = PolyAllocator<std::pair<const K, V> >> </div>
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">using <a class="el" href="namespacepma.html#a0477a3dc053bdee8c8943dfcfa1352f0">pma::Map</a> = typedef std::map<K, V, std::less<K>, Allocator></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a66acdf887e847cb2662b905e682b0132" name="a66acdf887e847cb2662b905e682b0132"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a66acdf887e847cb2662b905e682b0132">◆ </a></span>Matrix</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename T , typename Allocator = PolyAllocator<Vector<T> >> </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><<a class="el" href="namespacepma.html#a2d6fe21d674b98f7f9bc8dc3a2776cb9">Vector</a><T>, Allocator></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a7aa108f1780825b08131eb9ee7ff1fd2" name="a7aa108f1780825b08131eb9ee7ff1fd2"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a7aa108f1780825b08131eb9ee7ff1fd2">◆ </a></span>Set</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename T , typename Allocator = PolyAllocator<T>> </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><T, std::less<T>, Allocator></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ae5d5b3ccc2827874d96c73b97ade544e" name="ae5d5b3ccc2827874d96c73b97ade544e"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ae5d5b3ccc2827874d96c73b97ade544e">◆ </a></span>SharedInstance</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<class TTarget , class TBase = TTarget> </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><std::shared_ptr<TBase>, TTarget, TBase></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ae5d060484bbf3a0aa543d80d3f3257fb" name="ae5d060484bbf3a0aa543d80d3f3257fb"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ae5d060484bbf3a0aa543d80d3f3257fb">◆ </a></span>String</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename T , typename Allocator = PolyAllocator<T>> </div>
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">using <a class="el" href="namespacepma.html#ae5d060484bbf3a0aa543d80d3f3257fb">pma::String</a> = typedef std::basic_string<T, std::char_traits<T>, Allocator></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a8a889fca042c1a201a8c7f3c822e02ac" name="a8a889fca042c1a201a8c7f3c822e02ac"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a8a889fca042c1a201a8c7f3c822e02ac">◆ </a></span>UniqueInstance</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<class TTarget , class TBase = TTarget> </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><std::unique_ptr<TBase, std::function<void (TBase*)> >, TTarget, TBase></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ada0fd0f9404c2e6f4bfcf09e36428621" name="ada0fd0f9404c2e6f4bfcf09e36428621"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ada0fd0f9404c2e6f4bfcf09e36428621">◆ </a></span>UnorderedMap</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename K , typename V , typename Allocator = PolyAllocator<std::pair<const K, V> >> </div>
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">using <a class="el" href="namespacepma.html#ada0fd0f9404c2e6f4bfcf09e36428621">pma::UnorderedMap</a> = typedef std::unordered_map<K, V, std::hash<K>, std::equal_to<K>, Allocator></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a id="aa4a7d53c17b0073cbf7c83622dffcfd1" name="aa4a7d53c17b0073cbf7c83622dffcfd1"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aa4a7d53c17b0073cbf7c83622dffcfd1">◆ </a></span>UnorderedSet</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename T , typename Allocator = PolyAllocator<T>> </div>
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">using <a class="el" href="namespacepma.html#aa4a7d53c17b0073cbf7c83622dffcfd1">pma::UnorderedSet</a> = typedef std::unordered_set<T, std::hash<T>, std::equal_to<T>, Allocator></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a2d6fe21d674b98f7f9bc8dc3a2776cb9" name="a2d6fe21d674b98f7f9bc8dc3a2776cb9"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a2d6fe21d674b98f7f9bc8dc3a2776cb9">◆ </a></span>Vector</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename T , typename Allocator = PolyAllocator<T>> </div>
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">using <a class="el" href="namespacepma.html#a2d6fe21d674b98f7f9bc8dc3a2776cb9">pma::Vector</a> = typedef std::vector<T, Allocator></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">◆ </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 </td>
|
|
<td class="paramname"><em>address</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">std::size_t </td>
|
|
<td class="paramname"><em>alignment</em> </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 & mask) == 0ul);</div>
|
|
<div class="line"><span class="lineno"> 18</span> <span class="keywordflow">return</span> (address + mask) & ~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">◆ </a></span>alignPointer()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename T > </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 * </td>
|
|
<td class="paramname"><em>ptr</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">std::size_t </td>
|
|
<td class="paramname"><em>alignment</em> </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<</span>std::uintptr_t<span class="keyword">></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<</span>T*<span class="keyword">></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">◆ </a></span>makeScoped() <span class="overload">[1/3]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<class T , class TCreator , class TDestroyer , typename ... Args, typename Base = typename std::remove_pointer < decltype(TCreator{} (std::declval<Args>()...)) > ::type> </div>
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="classpma_1_1ScopedPtr.html">ScopedPtr</a>< Base, TDestroyer > pma::makeScoped </td>
|
|
<td>(</td>
|
|
<td class="paramtype">Args &&... </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'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<Base, T>::value ||</div>
|
|
<div class="line"><span class="lineno"> 254</span> std::is_base_of<Base, T>::value ||</div>
|
|
<div class="line"><span class="lineno"> 255</span> std::is_convertible<T, typename std::add_pointer<Base>::type>::value,</div>
|
|
<div class="line"><span class="lineno"> 256</span> <span class="stringliteral">"Incompatible types."</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<Base, TDestroyer></a>{TCreator{} (std::forward<Args>(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">◆ </a></span>makeScoped() <span class="overload">[2/3]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<class T , template< class ... > class TCreatorTemplate, template< class ... > class TDestroyerTemplate, typename ... Args> </div>
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="classpma_1_1ScopedPtr.html">ScopedPtr</a>< T, TDestroyerTemplate< T > > pma::makeScoped </td>
|
|
<td>(</td>
|
|
<td class="paramtype">Args &&... </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<T>;</div>
|
|
<div class="line"><span class="lineno"> 263</span> <span class="keyword">using </span>TDestroyer = TDestroyerTemplate<T>;</div>
|
|
<div class="line"><span class="lineno"> 264</span> <span class="keywordflow">return</span> makeScoped<T, TCreator, TDestroyer>(std::forward<Args>(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">◆ </a></span>makeScoped() <span class="overload">[3/3]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<class T , typename ... Args> </div>
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="classpma_1_1ScopedPtr.html">ScopedPtr</a>< T, typename <a class="el" href="structpma_1_1DefaultInstanceDestroyer.html">DefaultInstanceDestroyer</a>< T >::type > pma::makeScoped </td>
|
|
<td>(</td>
|
|
<td class="paramtype">Args &&... </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<T>::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<T>::type</a>;</div>
|
|
<div class="line"><span class="lineno"> 271</span> <span class="keywordflow">return</span> makeScoped<T, TCreator, TDestroyer>(std::forward<Args>(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">◆ </a></span>operator!=()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename T , std::size_t TAlignment, class TDefaultMemoryResource , typename U , std::size_t UAlignment, class UDefaultMemoryResource > </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>< T, TAlignment, TDefaultMemoryResource > & </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>< U, UAlignment, UDefaultMemoryResource > & </td>
|
|
<td class="paramname"><em>rhs</em> </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">◆ </a></span>operator==()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename T , std::size_t TAlignment, class TDefaultMemoryResource , typename U , std::size_t UAlignment, class UDefaultMemoryResource > </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>< T, TAlignment, TDefaultMemoryResource > & </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>< U, UAlignment, UDefaultMemoryResource > & </td>
|
|
<td class="paramname"><em>rhs</em> </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 && 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 <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>
|