mirror of
https://github.com/XRPLF/rippled.git
synced 2025-12-06 09:17:57 +00:00
deploy: afc05659ed
This commit is contained in:
@@ -3,7 +3,7 @@
|
||||
<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.5"/>
|
||||
<meta name="generator" content="Doxygen 1.9.8"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||
<title>rippled: ripple::SharedWeakUnion< T > Class Template Reference</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
@@ -29,7 +29,7 @@
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.9.5 -->
|
||||
<!-- Generated by Doxygen 1.9.8 -->
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||||
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
||||
@@ -95,109 +95,110 @@ Collaboration diagram for ripple::SharedWeakUnion< T >:</div>
|
||||
<map name="aripple_1_1SharedWeakUnion_3_01T_01_4_coll__map" id="aripple_1_1SharedWeakUnion_3_01T_01_4_coll__map">
|
||||
<area shape="rect" title="A combination of a strong and a weak intrusive pointer stored in the space of a single pointer." alt="" coords="5,123,229,148"/>
|
||||
<area shape="rect" target="_parent" href="http://en.cppreference.com/w/cpp/types/integer.html" title=" " alt="" coords="65,5,170,31"/>
|
||||
<area shape="poly" title=" " alt="" coords="120,44,120,123,115,123,115,44"/>
|
||||
</map>
|
||||
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
|
||||
<table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
|
||||
Public Member Functions</h2></td></tr>
|
||||
<tr class="memitem:acdc91cb14ee8873886ed14df1d4319c2"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1SharedWeakUnion.html#acdc91cb14ee8873886ed14df1d4319c2">SharedWeakUnion</a> ()=default</td></tr>
|
||||
<tr class="memitem:acdc91cb14ee8873886ed14df1d4319c2" id="r_acdc91cb14ee8873886ed14df1d4319c2"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1SharedWeakUnion.html#acdc91cb14ee8873886ed14df1d4319c2">SharedWeakUnion</a> ()=default</td></tr>
|
||||
<tr class="separator:acdc91cb14ee8873886ed14df1d4319c2"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:afbbfdb0fe9249b5e85b6cb3c53699df9"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1SharedWeakUnion.html#afbbfdb0fe9249b5e85b6cb3c53699df9">SharedWeakUnion</a> (<a class="el" href="classripple_1_1SharedWeakUnion.html">SharedWeakUnion</a> const &rhs)</td></tr>
|
||||
<tr class="memitem:afbbfdb0fe9249b5e85b6cb3c53699df9" id="r_afbbfdb0fe9249b5e85b6cb3c53699df9"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1SharedWeakUnion.html#afbbfdb0fe9249b5e85b6cb3c53699df9">SharedWeakUnion</a> (<a class="el" href="classripple_1_1SharedWeakUnion.html">SharedWeakUnion</a> const &rhs)</td></tr>
|
||||
<tr class="separator:afbbfdb0fe9249b5e85b6cb3c53699df9"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ac2192b836ecd7560181cb4745f8529ed"><td class="memTemplParams" colspan="2">template<class TT > <br />
|
||||
requires std::convertible_to<TT*, T*></td></tr>
|
||||
<tr class="memitem:ac2192b836ecd7560181cb4745f8529ed" id="r_ac2192b836ecd7560181cb4745f8529ed"><td class="memTemplParams" colspan="2">template<class TT > <br />
|
||||
requires <a class="elRef" href="http://en.cppreference.com/w/cpp/types/is_same.html">std::convertible_to</a><TT*, T*></td></tr>
|
||||
<tr class="memitem:ac2192b836ecd7560181cb4745f8529ed"><td class="memTemplItemLeft" align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classripple_1_1SharedWeakUnion.html#ac2192b836ecd7560181cb4745f8529ed">SharedWeakUnion</a> (<a class="el" href="classripple_1_1SharedIntrusive.html">SharedIntrusive</a>< TT > const &rhs)</td></tr>
|
||||
<tr class="separator:ac2192b836ecd7560181cb4745f8529ed"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a790821df256ea80c1b49899f01d5ee89"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1SharedWeakUnion.html#a790821df256ea80c1b49899f01d5ee89">SharedWeakUnion</a> (<a class="el" href="classripple_1_1SharedWeakUnion.html">SharedWeakUnion</a> &&rhs)</td></tr>
|
||||
<tr class="memitem:a790821df256ea80c1b49899f01d5ee89" id="r_a790821df256ea80c1b49899f01d5ee89"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1SharedWeakUnion.html#a790821df256ea80c1b49899f01d5ee89">SharedWeakUnion</a> (<a class="el" href="classripple_1_1SharedWeakUnion.html">SharedWeakUnion</a> &&rhs)</td></tr>
|
||||
<tr class="separator:a790821df256ea80c1b49899f01d5ee89"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a9eb69e51cc4154612aa0d5770268f00c"><td class="memTemplParams" colspan="2">template<class TT > <br />
|
||||
requires std::convertible_to<TT*, T*></td></tr>
|
||||
<tr class="memitem:a9eb69e51cc4154612aa0d5770268f00c" id="r_a9eb69e51cc4154612aa0d5770268f00c"><td class="memTemplParams" colspan="2">template<class TT > <br />
|
||||
requires <a class="elRef" href="http://en.cppreference.com/w/cpp/types/is_same.html">std::convertible_to</a><TT*, T*></td></tr>
|
||||
<tr class="memitem:a9eb69e51cc4154612aa0d5770268f00c"><td class="memTemplItemLeft" align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classripple_1_1SharedWeakUnion.html#a9eb69e51cc4154612aa0d5770268f00c">SharedWeakUnion</a> (<a class="el" href="classripple_1_1SharedIntrusive.html">SharedIntrusive</a>< TT > &&rhs)</td></tr>
|
||||
<tr class="separator:a9eb69e51cc4154612aa0d5770268f00c"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:abb2a49d6f9c45d4bf6c057752626f606"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classripple_1_1SharedWeakUnion.html">SharedWeakUnion</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1SharedWeakUnion.html#abb2a49d6f9c45d4bf6c057752626f606">operator=</a> (<a class="el" href="classripple_1_1SharedWeakUnion.html">SharedWeakUnion</a> const &rhs)</td></tr>
|
||||
<tr class="memitem:abb2a49d6f9c45d4bf6c057752626f606" id="r_abb2a49d6f9c45d4bf6c057752626f606"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classripple_1_1SharedWeakUnion.html">SharedWeakUnion</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1SharedWeakUnion.html#abb2a49d6f9c45d4bf6c057752626f606">operator=</a> (<a class="el" href="classripple_1_1SharedWeakUnion.html">SharedWeakUnion</a> const &rhs)</td></tr>
|
||||
<tr class="separator:abb2a49d6f9c45d4bf6c057752626f606"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a288f438351747d1b5fc0dd940adc5734"><td class="memTemplParams" colspan="2">template<class TT > <br />
|
||||
requires std::convertible_to<TT*, T*></td></tr>
|
||||
<tr class="memitem:a288f438351747d1b5fc0dd940adc5734" id="r_a288f438351747d1b5fc0dd940adc5734"><td class="memTemplParams" colspan="2">template<class TT > <br />
|
||||
requires <a class="elRef" href="http://en.cppreference.com/w/cpp/types/is_same.html">std::convertible_to</a><TT*, T*></td></tr>
|
||||
<tr class="memitem:a288f438351747d1b5fc0dd940adc5734"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classripple_1_1SharedWeakUnion.html">SharedWeakUnion</a> & </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classripple_1_1SharedWeakUnion.html#a288f438351747d1b5fc0dd940adc5734">operator=</a> (<a class="el" href="classripple_1_1SharedIntrusive.html">SharedIntrusive</a>< TT > const &rhs)</td></tr>
|
||||
<tr class="separator:a288f438351747d1b5fc0dd940adc5734"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a8064ebe45a0e7ba6453f9b0c677fae5c"><td class="memTemplParams" colspan="2">template<class TT > <br />
|
||||
requires std::convertible_to<TT*, T*></td></tr>
|
||||
<tr class="memitem:a8064ebe45a0e7ba6453f9b0c677fae5c" id="r_a8064ebe45a0e7ba6453f9b0c677fae5c"><td class="memTemplParams" colspan="2">template<class TT > <br />
|
||||
requires <a class="elRef" href="http://en.cppreference.com/w/cpp/types/is_same.html">std::convertible_to</a><TT*, T*></td></tr>
|
||||
<tr class="memitem:a8064ebe45a0e7ba6453f9b0c677fae5c"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classripple_1_1SharedWeakUnion.html">SharedWeakUnion</a> & </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classripple_1_1SharedWeakUnion.html#a8064ebe45a0e7ba6453f9b0c677fae5c">operator=</a> (<a class="el" href="classripple_1_1SharedIntrusive.html">SharedIntrusive</a>< TT > &&rhs)</td></tr>
|
||||
<tr class="separator:a8064ebe45a0e7ba6453f9b0c677fae5c"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a7da2d81c733ae46e2ce88a4f83738f71"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1SharedWeakUnion.html#a7da2d81c733ae46e2ce88a4f83738f71">~SharedWeakUnion</a> ()</td></tr>
|
||||
<tr class="memitem:a7da2d81c733ae46e2ce88a4f83738f71" id="r_a7da2d81c733ae46e2ce88a4f83738f71"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1SharedWeakUnion.html#a7da2d81c733ae46e2ce88a4f83738f71">~SharedWeakUnion</a> ()</td></tr>
|
||||
<tr class="separator:a7da2d81c733ae46e2ce88a4f83738f71"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a0437c282f783e60800e0e53415d56bb0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classripple_1_1SharedIntrusive.html">SharedIntrusive</a>< T > </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1SharedWeakUnion.html#a0437c282f783e60800e0e53415d56bb0">getStrong</a> () const</td></tr>
|
||||
<tr class="memdesc:a0437c282f783e60800e0e53415d56bb0"><td class="mdescLeft"> </td><td class="mdescRight">Return a strong pointer if this is already a strong pointer (i.e. <a href="classripple_1_1SharedWeakUnion.html#a0437c282f783e60800e0e53415d56bb0">More...</a><br /></td></tr>
|
||||
<tr class="memitem:a0437c282f783e60800e0e53415d56bb0" id="r_a0437c282f783e60800e0e53415d56bb0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classripple_1_1SharedIntrusive.html">SharedIntrusive</a>< T > </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1SharedWeakUnion.html#a0437c282f783e60800e0e53415d56bb0">getStrong</a> () const</td></tr>
|
||||
<tr class="memdesc:a0437c282f783e60800e0e53415d56bb0"><td class="mdescLeft"> </td><td class="mdescRight">Return a strong pointer if this is already a strong pointer (i.e. <br /></td></tr>
|
||||
<tr class="separator:a0437c282f783e60800e0e53415d56bb0"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a7a6d87dcc1f75c53e5281eea3b4a70d9"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1SharedWeakUnion.html#a7a6d87dcc1f75c53e5281eea3b4a70d9">operator bool</a> () const noexcept</td></tr>
|
||||
<tr class="memdesc:a7a6d87dcc1f75c53e5281eea3b4a70d9"><td class="mdescLeft"> </td><td class="mdescRight">Return true if this is a strong pointer and the strong pointer is seated. <a href="classripple_1_1SharedWeakUnion.html#a7a6d87dcc1f75c53e5281eea3b4a70d9">More...</a><br /></td></tr>
|
||||
<tr class="memitem:a7a6d87dcc1f75c53e5281eea3b4a70d9" id="r_a7a6d87dcc1f75c53e5281eea3b4a70d9"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1SharedWeakUnion.html#a7a6d87dcc1f75c53e5281eea3b4a70d9">operator bool</a> () const noexcept</td></tr>
|
||||
<tr class="memdesc:a7a6d87dcc1f75c53e5281eea3b4a70d9"><td class="mdescLeft"> </td><td class="mdescRight">Return true if this is a strong pointer and the strong pointer is seated. <br /></td></tr>
|
||||
<tr class="separator:a7a6d87dcc1f75c53e5281eea3b4a70d9"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ab5386228e1dc5f481ffe6412038bd6d8"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1SharedWeakUnion.html#ab5386228e1dc5f481ffe6412038bd6d8">reset</a> ()</td></tr>
|
||||
<tr class="memdesc:ab5386228e1dc5f481ffe6412038bd6d8"><td class="mdescLeft"> </td><td class="mdescRight">Set the pointer to null, decrement the appropriate ref count, and run the appropriate release action. <a href="classripple_1_1SharedWeakUnion.html#ab5386228e1dc5f481ffe6412038bd6d8">More...</a><br /></td></tr>
|
||||
<tr class="memitem:ab5386228e1dc5f481ffe6412038bd6d8" id="r_ab5386228e1dc5f481ffe6412038bd6d8"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1SharedWeakUnion.html#ab5386228e1dc5f481ffe6412038bd6d8">reset</a> ()</td></tr>
|
||||
<tr class="memdesc:ab5386228e1dc5f481ffe6412038bd6d8"><td class="mdescLeft"> </td><td class="mdescRight">Set the pointer to null, decrement the appropriate ref count, and run the appropriate release action. <br /></td></tr>
|
||||
<tr class="separator:ab5386228e1dc5f481ffe6412038bd6d8"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:aadc1e414a1dbb42a0294cbf9303a2c65"><td class="memItemLeft" align="right" valign="top">T * </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1SharedWeakUnion.html#aadc1e414a1dbb42a0294cbf9303a2c65">get</a> () const</td></tr>
|
||||
<tr class="memdesc:aadc1e414a1dbb42a0294cbf9303a2c65"><td class="mdescLeft"> </td><td class="mdescRight">If this is a strong pointer, return the raw pointer. <a href="classripple_1_1SharedWeakUnion.html#aadc1e414a1dbb42a0294cbf9303a2c65">More...</a><br /></td></tr>
|
||||
<tr class="memitem:aadc1e414a1dbb42a0294cbf9303a2c65" id="r_aadc1e414a1dbb42a0294cbf9303a2c65"><td class="memItemLeft" align="right" valign="top">T * </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1SharedWeakUnion.html#aadc1e414a1dbb42a0294cbf9303a2c65">get</a> () const</td></tr>
|
||||
<tr class="memdesc:aadc1e414a1dbb42a0294cbf9303a2c65"><td class="mdescLeft"> </td><td class="mdescRight">If this is a strong pointer, return the raw pointer. <br /></td></tr>
|
||||
<tr class="separator:aadc1e414a1dbb42a0294cbf9303a2c65"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ab84de095465d02cab0fc56971e0e2e95"><td class="memItemLeft" align="right" valign="top"><a class="elRef" href="http://en.cppreference.com/w/cpp/types/size_t.html">std::size_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1SharedWeakUnion.html#ab84de095465d02cab0fc56971e0e2e95">use_count</a> () const</td></tr>
|
||||
<tr class="memdesc:ab84de095465d02cab0fc56971e0e2e95"><td class="mdescLeft"> </td><td class="mdescRight">If this is a strong pointer, return the strong count. <a href="classripple_1_1SharedWeakUnion.html#ab84de095465d02cab0fc56971e0e2e95">More...</a><br /></td></tr>
|
||||
<tr class="memitem:ab84de095465d02cab0fc56971e0e2e95" id="r_ab84de095465d02cab0fc56971e0e2e95"><td class="memItemLeft" align="right" valign="top"><a class="elRef" href="http://en.cppreference.com/w/cpp/types/size_t.html">std::size_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1SharedWeakUnion.html#ab84de095465d02cab0fc56971e0e2e95">use_count</a> () const</td></tr>
|
||||
<tr class="memdesc:ab84de095465d02cab0fc56971e0e2e95"><td class="mdescLeft"> </td><td class="mdescRight">If this is a strong pointer, return the strong count. <br /></td></tr>
|
||||
<tr class="separator:ab84de095465d02cab0fc56971e0e2e95"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a2292bbd1edcd47b40999eab293b4965d"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1SharedWeakUnion.html#a2292bbd1edcd47b40999eab293b4965d">expired</a> () const</td></tr>
|
||||
<tr class="memdesc:a2292bbd1edcd47b40999eab293b4965d"><td class="mdescLeft"> </td><td class="mdescRight">Return true if there is a non-zero strong count. <a href="classripple_1_1SharedWeakUnion.html#a2292bbd1edcd47b40999eab293b4965d">More...</a><br /></td></tr>
|
||||
<tr class="memitem:a2292bbd1edcd47b40999eab293b4965d" id="r_a2292bbd1edcd47b40999eab293b4965d"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1SharedWeakUnion.html#a2292bbd1edcd47b40999eab293b4965d">expired</a> () const</td></tr>
|
||||
<tr class="memdesc:a2292bbd1edcd47b40999eab293b4965d"><td class="mdescLeft"> </td><td class="mdescRight">Return true if there is a non-zero strong count. <br /></td></tr>
|
||||
<tr class="separator:a2292bbd1edcd47b40999eab293b4965d"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a173b54db284aaaf75a783184959d5b64"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classripple_1_1SharedIntrusive.html">SharedIntrusive</a>< T > </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1SharedWeakUnion.html#a173b54db284aaaf75a783184959d5b64">lock</a> () const</td></tr>
|
||||
<tr class="memdesc:a173b54db284aaaf75a783184959d5b64"><td class="mdescLeft"> </td><td class="mdescRight">If this is a strong pointer, return the strong pointer. <a href="classripple_1_1SharedWeakUnion.html#a173b54db284aaaf75a783184959d5b64">More...</a><br /></td></tr>
|
||||
<tr class="memitem:a173b54db284aaaf75a783184959d5b64" id="r_a173b54db284aaaf75a783184959d5b64"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classripple_1_1SharedIntrusive.html">SharedIntrusive</a>< T > </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1SharedWeakUnion.html#a173b54db284aaaf75a783184959d5b64">lock</a> () const</td></tr>
|
||||
<tr class="memdesc:a173b54db284aaaf75a783184959d5b64"><td class="mdescLeft"> </td><td class="mdescRight">If this is a strong pointer, return the strong pointer. <br /></td></tr>
|
||||
<tr class="separator:a173b54db284aaaf75a783184959d5b64"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a5f9b80090815d0a5bd676795ddc9bcc4"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1SharedWeakUnion.html#a5f9b80090815d0a5bd676795ddc9bcc4">isStrong</a> () const</td></tr>
|
||||
<tr class="memdesc:a5f9b80090815d0a5bd676795ddc9bcc4"><td class="mdescLeft"> </td><td class="mdescRight">Return true is this represents a strong pointer. <a href="classripple_1_1SharedWeakUnion.html#a5f9b80090815d0a5bd676795ddc9bcc4">More...</a><br /></td></tr>
|
||||
<tr class="memitem:a5f9b80090815d0a5bd676795ddc9bcc4" id="r_a5f9b80090815d0a5bd676795ddc9bcc4"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1SharedWeakUnion.html#a5f9b80090815d0a5bd676795ddc9bcc4">isStrong</a> () const</td></tr>
|
||||
<tr class="memdesc:a5f9b80090815d0a5bd676795ddc9bcc4"><td class="mdescLeft"> </td><td class="mdescRight">Return true is this represents a strong pointer. <br /></td></tr>
|
||||
<tr class="separator:a5f9b80090815d0a5bd676795ddc9bcc4"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ae0679d0fea0dfed05c013cdb00bcb056"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1SharedWeakUnion.html#ae0679d0fea0dfed05c013cdb00bcb056">isWeak</a> () const</td></tr>
|
||||
<tr class="memdesc:ae0679d0fea0dfed05c013cdb00bcb056"><td class="mdescLeft"> </td><td class="mdescRight">Return true is this represents a weak pointer. <a href="classripple_1_1SharedWeakUnion.html#ae0679d0fea0dfed05c013cdb00bcb056">More...</a><br /></td></tr>
|
||||
<tr class="memitem:ae0679d0fea0dfed05c013cdb00bcb056" id="r_ae0679d0fea0dfed05c013cdb00bcb056"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1SharedWeakUnion.html#ae0679d0fea0dfed05c013cdb00bcb056">isWeak</a> () const</td></tr>
|
||||
<tr class="memdesc:ae0679d0fea0dfed05c013cdb00bcb056"><td class="mdescLeft"> </td><td class="mdescRight">Return true is this represents a weak pointer. <br /></td></tr>
|
||||
<tr class="separator:ae0679d0fea0dfed05c013cdb00bcb056"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ac860b63006359c702b68c5a8334e2efa"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1SharedWeakUnion.html#ac860b63006359c702b68c5a8334e2efa">convertToStrong</a> ()</td></tr>
|
||||
<tr class="memdesc:ac860b63006359c702b68c5a8334e2efa"><td class="mdescLeft"> </td><td class="mdescRight">If this is a weak pointer, attempt to convert it to a strong pointer. <a href="classripple_1_1SharedWeakUnion.html#ac860b63006359c702b68c5a8334e2efa">More...</a><br /></td></tr>
|
||||
<tr class="memitem:ac860b63006359c702b68c5a8334e2efa" id="r_ac860b63006359c702b68c5a8334e2efa"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1SharedWeakUnion.html#ac860b63006359c702b68c5a8334e2efa">convertToStrong</a> ()</td></tr>
|
||||
<tr class="memdesc:ac860b63006359c702b68c5a8334e2efa"><td class="mdescLeft"> </td><td class="mdescRight">If this is a weak pointer, attempt to convert it to a strong pointer. <br /></td></tr>
|
||||
<tr class="separator:ac860b63006359c702b68c5a8334e2efa"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:aa91b65bd58b070e88a06aba584dbf678"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1SharedWeakUnion.html#aa91b65bd58b070e88a06aba584dbf678">convertToWeak</a> ()</td></tr>
|
||||
<tr class="memdesc:aa91b65bd58b070e88a06aba584dbf678"><td class="mdescLeft"> </td><td class="mdescRight">If this is a strong pointer, attempt to convert it to a weak pointer. <a href="classripple_1_1SharedWeakUnion.html#aa91b65bd58b070e88a06aba584dbf678">More...</a><br /></td></tr>
|
||||
<tr class="memitem:aa91b65bd58b070e88a06aba584dbf678" id="r_aa91b65bd58b070e88a06aba584dbf678"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1SharedWeakUnion.html#aa91b65bd58b070e88a06aba584dbf678">convertToWeak</a> ()</td></tr>
|
||||
<tr class="memdesc:aa91b65bd58b070e88a06aba584dbf678"><td class="mdescLeft"> </td><td class="mdescRight">If this is a strong pointer, attempt to convert it to a weak pointer. <br /></td></tr>
|
||||
<tr class="separator:aa91b65bd58b070e88a06aba584dbf678"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table><table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pri-types" name="pri-types"></a>
|
||||
Private Types</h2></td></tr>
|
||||
<tr class="memitem:ab942abc90076d8d32944861198eb1c4b"><td class="memItemLeft" align="right" valign="top">enum class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1SharedWeakUnion.html#ab942abc90076d8d32944861198eb1c4b">RefStrength</a> { <a class="el" href="classripple_1_1SharedWeakUnion.html#ab942abc90076d8d32944861198eb1c4ba6f7f9432d35dea629c8384dab312259a">strong</a>
|
||||
<tr class="memitem:ab942abc90076d8d32944861198eb1c4b" id="r_ab942abc90076d8d32944861198eb1c4b"><td class="memItemLeft" align="right" valign="top">enum class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1SharedWeakUnion.html#ab942abc90076d8d32944861198eb1c4b">RefStrength</a> { <a class="el" href="classripple_1_1SharedWeakUnion.html#ab942abc90076d8d32944861198eb1c4ba6f7f9432d35dea629c8384dab312259a">strong</a>
|
||||
, <a class="el" href="classripple_1_1SharedWeakUnion.html#ab942abc90076d8d32944861198eb1c4ba7ecc19e1a0be36ba2c6f05d06b5d3058">weak</a>
|
||||
}</td></tr>
|
||||
<tr class="separator:ab942abc90076d8d32944861198eb1c4b"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table><table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pri-methods" name="pri-methods"></a>
|
||||
Private Member Functions</h2></td></tr>
|
||||
<tr class="memitem:a1785490c35a0e28b17e18867bb829f01"><td class="memItemLeft" align="right" valign="top">T * </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1SharedWeakUnion.html#a1785490c35a0e28b17e18867bb829f01">unsafeGetRawPtr</a> () const</td></tr>
|
||||
<tr class="memdesc:a1785490c35a0e28b17e18867bb829f01"><td class="mdescLeft"> </td><td class="mdescRight">Return the raw pointer held by this object. <a href="classripple_1_1SharedWeakUnion.html#a1785490c35a0e28b17e18867bb829f01">More...</a><br /></td></tr>
|
||||
<tr class="memitem:a1785490c35a0e28b17e18867bb829f01" id="r_a1785490c35a0e28b17e18867bb829f01"><td class="memItemLeft" align="right" valign="top">T * </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1SharedWeakUnion.html#a1785490c35a0e28b17e18867bb829f01">unsafeGetRawPtr</a> () const</td></tr>
|
||||
<tr class="memdesc:a1785490c35a0e28b17e18867bb829f01"><td class="mdescLeft"> </td><td class="mdescRight">Return the raw pointer held by this object. <br /></td></tr>
|
||||
<tr class="separator:a1785490c35a0e28b17e18867bb829f01"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ad9aaab0dad22eb64913b6b91a0604656"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1SharedWeakUnion.html#ad9aaab0dad22eb64913b6b91a0604656">unsafeSetRawPtr</a> (T *p, <a class="el" href="classripple_1_1SharedWeakUnion.html#ab942abc90076d8d32944861198eb1c4b">RefStrength</a> rs)</td></tr>
|
||||
<tr class="memdesc:ad9aaab0dad22eb64913b6b91a0604656"><td class="mdescLeft"> </td><td class="mdescRight">Set the raw pointer and tag bit directly. <a href="classripple_1_1SharedWeakUnion.html#ad9aaab0dad22eb64913b6b91a0604656">More...</a><br /></td></tr>
|
||||
<tr class="memitem:ad9aaab0dad22eb64913b6b91a0604656" id="r_ad9aaab0dad22eb64913b6b91a0604656"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1SharedWeakUnion.html#ad9aaab0dad22eb64913b6b91a0604656">unsafeSetRawPtr</a> (T *p, <a class="el" href="classripple_1_1SharedWeakUnion.html#ab942abc90076d8d32944861198eb1c4b">RefStrength</a> rs)</td></tr>
|
||||
<tr class="memdesc:ad9aaab0dad22eb64913b6b91a0604656"><td class="mdescLeft"> </td><td class="mdescRight">Set the raw pointer and tag bit directly. <br /></td></tr>
|
||||
<tr class="separator:ad9aaab0dad22eb64913b6b91a0604656"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ae0b9c5b23d94159923922a17e2b1ad24"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1SharedWeakUnion.html#ae0b9c5b23d94159923922a17e2b1ad24">unsafeSetRawPtr</a> (<a class="elRef" href="http://en.cppreference.com/w/cpp/types/nullptr_t.html">std::nullptr_t</a>)</td></tr>
|
||||
<tr class="memdesc:ae0b9c5b23d94159923922a17e2b1ad24"><td class="mdescLeft"> </td><td class="mdescRight">Set the raw pointer and tag bit to all zeros (strong null pointer). <a href="classripple_1_1SharedWeakUnion.html#ae0b9c5b23d94159923922a17e2b1ad24">More...</a><br /></td></tr>
|
||||
<tr class="memitem:ae0b9c5b23d94159923922a17e2b1ad24" id="r_ae0b9c5b23d94159923922a17e2b1ad24"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1SharedWeakUnion.html#ae0b9c5b23d94159923922a17e2b1ad24">unsafeSetRawPtr</a> (<a class="elRef" href="http://en.cppreference.com/w/cpp/types/nullptr_t.html">std::nullptr_t</a>)</td></tr>
|
||||
<tr class="memdesc:ae0b9c5b23d94159923922a17e2b1ad24"><td class="mdescLeft"> </td><td class="mdescRight">Set the raw pointer and tag bit to all zeros (strong null pointer). <br /></td></tr>
|
||||
<tr class="separator:ae0b9c5b23d94159923922a17e2b1ad24"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:aca0b34750902d66e6307a331e1abedf5"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1SharedWeakUnion.html#aca0b34750902d66e6307a331e1abedf5">unsafeReleaseNoStore</a> ()</td></tr>
|
||||
<tr class="memdesc:aca0b34750902d66e6307a331e1abedf5"><td class="mdescLeft"> </td><td class="mdescRight">Decrement the appropriate ref count, and run the appropriate release action. <a href="classripple_1_1SharedWeakUnion.html#aca0b34750902d66e6307a331e1abedf5">More...</a><br /></td></tr>
|
||||
<tr class="memitem:aca0b34750902d66e6307a331e1abedf5" id="r_aca0b34750902d66e6307a331e1abedf5"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1SharedWeakUnion.html#aca0b34750902d66e6307a331e1abedf5">unsafeReleaseNoStore</a> ()</td></tr>
|
||||
<tr class="memdesc:aca0b34750902d66e6307a331e1abedf5"><td class="mdescLeft"> </td><td class="mdescRight">Decrement the appropriate ref count, and run the appropriate release action. <br /></td></tr>
|
||||
<tr class="separator:aca0b34750902d66e6307a331e1abedf5"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table><table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pri-attribs" name="pri-attribs"></a>
|
||||
Private Attributes</h2></td></tr>
|
||||
<tr class="memitem:a944818f4cba4fa28c066009d1ed1a314"><td class="memItemLeft" align="right" valign="top"><a class="elRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uintptr_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1SharedWeakUnion.html#a944818f4cba4fa28c066009d1ed1a314">tp_</a> {0}</td></tr>
|
||||
<tr class="memitem:a944818f4cba4fa28c066009d1ed1a314" id="r_a944818f4cba4fa28c066009d1ed1a314"><td class="memItemLeft" align="right" valign="top"><a class="elRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uintptr_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1SharedWeakUnion.html#a944818f4cba4fa28c066009d1ed1a314">tp_</a> {0}</td></tr>
|
||||
<tr class="separator:a944818f4cba4fa28c066009d1ed1a314"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table><table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pri-static-attribs" name="pri-static-attribs"></a>
|
||||
Static Private Attributes</h2></td></tr>
|
||||
<tr class="memitem:afb18201849c8a318452e441aad380e2a"><td class="memItemLeft" align="right" valign="top">static constexpr <a class="elRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uintptr_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1SharedWeakUnion.html#afb18201849c8a318452e441aad380e2a">tagMask</a> = 1</td></tr>
|
||||
<tr class="memitem:afb18201849c8a318452e441aad380e2a" id="r_afb18201849c8a318452e441aad380e2a"><td class="memItemLeft" align="right" valign="top">static constexpr <a class="elRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uintptr_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1SharedWeakUnion.html#afb18201849c8a318452e441aad380e2a">tagMask</a> = 1</td></tr>
|
||||
<tr class="separator:afb18201849c8a318452e441aad380e2a"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ac2ee3d1ad8845f46a91ec65fffcc6f98"><td class="memItemLeft" align="right" valign="top">static constexpr <a class="elRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uintptr_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1SharedWeakUnion.html#ac2ee3d1ad8845f46a91ec65fffcc6f98">ptrMask</a> = ~<a class="el" href="classripple_1_1SharedWeakUnion.html#afb18201849c8a318452e441aad380e2a">tagMask</a></td></tr>
|
||||
<tr class="memitem:ac2ee3d1ad8845f46a91ec65fffcc6f98" id="r_ac2ee3d1ad8845f46a91ec65fffcc6f98"><td class="memItemLeft" align="right" valign="top">static constexpr <a class="elRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uintptr_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1SharedWeakUnion.html#ac2ee3d1ad8845f46a91ec65fffcc6f98">ptrMask</a> = ~<a class="el" href="classripple_1_1SharedWeakUnion.html#afb18201849c8a318452e441aad380e2a">tagMask</a></td></tr>
|
||||
<tr class="separator:ac2ee3d1ad8845f46a91ec65fffcc6f98"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||
<div class="textblock"><div class="compoundTemplParams">template<class T><br />
|
||||
class ripple::SharedWeakUnion< T ></div><p >A combination of a strong and a weak intrusive pointer stored in the space of a single pointer. </p>
|
||||
<p >This class is similar to a <code><a class="elRef" href="http://en.cppreference.com/w/cpp/utility/variant.html">std::variant</a><<a class="el" href="classripple_1_1SharedIntrusive.html" title="A shared intrusive pointer class that supports weak pointers.">SharedIntrusive</a>,<a class="el" href="classripple_1_1WeakIntrusive.html" title="A weak intrusive pointer class for the SharedIntrusive pointer class.">WeakIntrusive</a>></code> with some optimizations. In particular, it uses a low-order bit to determine if the raw pointer represents a strong pointer or a weak pointer. It can also be quickly switched between its strong pointer and weak pointer representations. This class is useful for storing intrusive pointers in tagged caches. </p>
|
||||
class ripple::SharedWeakUnion< T ></div><p>A combination of a strong and a weak intrusive pointer stored in the space of a single pointer. </p>
|
||||
<p>This class is similar to a <code><a class="elRef" href="http://en.cppreference.com/w/cpp/utility/variant.html">std::variant</a><<a class="el" href="classripple_1_1SharedIntrusive.html" title="A shared intrusive pointer class that supports weak pointers.">SharedIntrusive</a>,<a class="el" href="classripple_1_1WeakIntrusive.html" title="A weak intrusive pointer class for the SharedIntrusive pointer class.">WeakIntrusive</a>></code> with some optimizations. In particular, it uses a low-order bit to determine if the raw pointer represents a strong pointer or a weak pointer. It can also be quickly switched between its strong pointer and weak pointer representations. This class is useful for storing intrusive pointers in tagged caches. </p>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="IntrusivePointer_8h_source.html#l00321">321</a> of file <a class="el" href="IntrusivePointer_8h_source.html">IntrusivePointer.h</a>.</p>
|
||||
</div><h2 class="groupheader">Member Enumeration Documentation</h2>
|
||||
@@ -288,7 +289,7 @@ template<class T > </div>
|
||||
template<class T > </div>
|
||||
<div class="memtemplate">
|
||||
template<class TT > <br />
|
||||
requires std::convertible_to<TT*, T*></div>
|
||||
requires <a class="elRef" href="http://en.cppreference.com/w/cpp/types/is_same.html">std::convertible_to</a><TT*, T*></div>
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname"><a class="el" href="classripple_1_1SharedWeakUnion.html">ripple::SharedWeakUnion</a>< T >::SharedWeakUnion </td>
|
||||
@@ -331,7 +332,7 @@ template<class T > </div>
|
||||
template<class T > </div>
|
||||
<div class="memtemplate">
|
||||
template<class TT > <br />
|
||||
requires std::convertible_to<TT*, T*></div>
|
||||
requires <a class="elRef" href="http://en.cppreference.com/w/cpp/types/is_same.html">std::convertible_to</a><TT*, T*></div>
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname"><a class="el" href="classripple_1_1SharedWeakUnion.html">ripple::SharedWeakUnion</a>< T >::SharedWeakUnion </td>
|
||||
@@ -394,7 +395,7 @@ template<class T > </div>
|
||||
template<class T > </div>
|
||||
<div class="memtemplate">
|
||||
template<class TT > <br />
|
||||
requires std::convertible_to<TT*, T*></div>
|
||||
requires <a class="elRef" href="http://en.cppreference.com/w/cpp/types/is_same.html">std::convertible_to</a><TT*, T*></div>
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname"><a class="el" href="classripple_1_1SharedWeakUnion.html">SharedWeakUnion</a> & <a class="el" href="classripple_1_1SharedWeakUnion.html">ripple::SharedWeakUnion</a>< T >::operator= </td>
|
||||
@@ -417,7 +418,7 @@ requires std::convertible_to<TT*, T*></div>
|
||||
template<class T > </div>
|
||||
<div class="memtemplate">
|
||||
template<class TT > <br />
|
||||
requires std::convertible_to<TT*, T*></div>
|
||||
requires <a class="elRef" href="http://en.cppreference.com/w/cpp/types/is_same.html">std::convertible_to</a><TT*, T*></div>
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname"><a class="el" href="classripple_1_1SharedWeakUnion.html">SharedWeakUnion</a> & <a class="el" href="classripple_1_1SharedWeakUnion.html">ripple::SharedWeakUnion</a>< T >::operator= </td>
|
||||
@@ -449,7 +450,7 @@ template<class T > </div>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Return a strong pointer if this is already a strong pointer (i.e. </p>
|
||||
<p >don't lock the weak pointer. Use the <code>lock</code> method if that's what's needed) </p>
|
||||
<p>don't lock the weak pointer. Use the <code>lock</code> method if that's what's needed) </p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@@ -521,7 +522,7 @@ template<class T > </div>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>If this is a strong pointer, return the raw pointer. </p>
|
||||
<p >Otherwise return null. </p>
|
||||
<p>Otherwise return null. </p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@@ -543,7 +544,7 @@ template<class T > </div>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>If this is a strong pointer, return the strong count. </p>
|
||||
<p >Otherwise return 0 </p>
|
||||
<p>Otherwise return 0 </p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@@ -586,7 +587,7 @@ template<class T > </div>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>If this is a strong pointer, return the strong pointer. </p>
|
||||
<p >Otherwise attempt to lock the weak pointer. </p>
|
||||
<p>Otherwise attempt to lock the weak pointer. </p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@@ -801,7 +802,7 @@ template<class T > </div>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Decrement the appropriate ref count, and run the appropriate release action. </p>
|
||||
<p >Note: this does <em>not</em> set the raw pointer to null. </p>
|
||||
<p>Note: this does <em>not</em> set the raw pointer to null. </p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@@ -887,7 +888,7 @@ template<class T > </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.5
|
||||
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.8
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
Reference in New Issue
Block a user