This commit is contained in:
bthomee
2025-08-19 09:49:50 -07:00
parent bb5efdeec8
commit e7f4ae8bed
14888 changed files with 259444 additions and 168566 deletions

View File

@@ -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: ClosureCounter_test.cpp Source File</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&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
@@ -46,6 +46,11 @@ $(function() {
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function() { init_codefold(0); });
/* @license-end */
</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
@@ -110,18 +115,22 @@ $(function() {
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span> </div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span><span class="comment">//------------------------------------------------------------------------------</span></div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span> </div>
<div class="foldopen" id="foldopen00035" data-start="{" data-end="};">
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"><a class="line" href="classripple_1_1test_1_1ClosureCounter__test.html"> 35</a></span><span class="keyword">class </span><a class="code hl_class" href="classripple_1_1test_1_1ClosureCounter__test.html">ClosureCounter_test</a> : <span class="keyword">public</span> <a class="code hl_class" href="classbeast_1_1unit__test_1_1suite.html">beast::unit_test::suite</a></div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span>{</div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span> <span class="comment">// We&#39;re only using Env for its Journal. That Journal gives better</span></div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span> <span class="comment">// coverage in unit tests.</span></div>
<div class="foldopen" id="foldopen00039" data-start="{" data-end="};">
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"><a class="line" href="classripple_1_1test_1_1ClosureCounter__test.html#aa7c869854a18d352f8c65f1d792f5ef9"> 39</a></span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1Env.html">test::jtx::Env</a> <a class="code hl_variable" href="classripple_1_1test_1_1ClosureCounter__test.html#aa7c869854a18d352f8c65f1d792f5ef9">env_</a>{</div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span> *<span class="keyword">this</span>,</div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span> <a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a7a4caa0465c555c5c59ce7c0d0d48d78">jtx::envconfig</a>(),</div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span> <span class="keyword">nullptr</span>,</div>
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span> <a class="code hl_enumvalue" href="namespacebeast_1_1severities.html#a069a8a312b9123b77f6aa31733ca73beae13a45640877c138fc59c94443ece6f0">beast::severities::kDisabled</a>};</div>
</div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"><a class="line" href="classripple_1_1test_1_1ClosureCounter__test.html#a85767ce9e2f9033e7bd3fe44fc3a9cfe"> 44</a></span> <a class="code hl_class" href="classbeast_1_1Journal.html">beast::Journal</a> <a class="code hl_variable" href="classripple_1_1test_1_1ClosureCounter__test.html#a85767ce9e2f9033e7bd3fe44fc3a9cfe">j</a>{<a class="code hl_variable" href="classripple_1_1test_1_1ClosureCounter__test.html#aa7c869854a18d352f8c65f1d792f5ef9">env_</a>.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1Env.html#acd48f8ab02c37b1a30cedf4dec7cc96c">app</a>().<a class="code hl_function" href="classripple_1_1Application.html#a2897c28a5b5040e80e66f676d201d03f">journal</a>(<span class="stringliteral">&quot;ClosureCounter_test&quot;</span>)};</div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> </div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span> <span class="keywordtype">void</span></div>
<div class="foldopen" id="foldopen00047" data-start="{" data-end="}">
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"><a class="line" href="classripple_1_1test_1_1ClosureCounter__test.html#a59848d3364b6f64fa3b0388142b98d4a"> 47</a></span> <a class="code hl_function" href="classripple_1_1test_1_1ClosureCounter__test.html#a59848d3364b6f64fa3b0388142b98d4a">testConstruction</a>()</div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span> {</div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span> <span class="comment">// Build different kinds of ClosureCounters.</span></div>
@@ -144,7 +153,7 @@ $(function() {
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span> BEAST_EXPECT(evidence == 2);</div>
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span> </div>
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span> <span class="comment">// Destroying the contents of wrapped should decrement voidCounter.</span></div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span> wrapped = std::nullopt;</div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span> wrapped = <a class="code hl_variableRef" href="http://en.cppreference.com/w/cpp/types/is_same.html">std::nullopt</a>;</div>
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span> BEAST_EXPECT(voidCounter.<a class="code hl_function" href="classripple_1_1ClosureCounter.html#aa2194cbada192730b683d89a27434fb8">count</a>() == 0);</div>
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span> }</div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span> {</div>
@@ -168,7 +177,7 @@ $(function() {
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span> BEAST_EXPECT(evidence == 11);</div>
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span> </div>
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span> <span class="comment">// Destroying the contents of wrapped should decrement setCounter.</span></div>
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span> wrapped = std::nullopt;</div>
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span> wrapped = <a class="code hl_variableRef" href="http://en.cppreference.com/w/cpp/types/is_same.html">std::nullopt</a>;</div>
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span> BEAST_EXPECT(setCounter.<a class="code hl_function" href="classripple_1_1ClosureCounter.html#aa2194cbada192730b683d89a27434fb8">count</a>() == 0);</div>
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span> }</div>
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span> {</div>
@@ -188,12 +197,14 @@ $(function() {
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span> BEAST_EXPECT((*wrapped)(2, -8) == -6);</div>
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span> </div>
<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"> 112</span> <span class="comment">// Destroying the contents of wrapped should decrement sumCounter.</span></div>
<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"> 113</span> wrapped = std::nullopt;</div>
<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"> 113</span> wrapped = <a class="code hl_variableRef" href="http://en.cppreference.com/w/cpp/types/is_same.html">std::nullopt</a>;</div>
<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span> BEAST_EXPECT(sumCounter.<a class="code hl_function" href="classripple_1_1ClosureCounter.html#aa2194cbada192730b683d89a27434fb8">count</a>() == 0);</div>
<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span> }</div>
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span> }</div>
</div>
<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span> </div>
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span> <span class="comment">// A class used to test argument passing.</span></div>
<div class="foldopen" id="foldopen00119" data-start="{" data-end="};">
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"><a class="line" href="classripple_1_1test_1_1ClosureCounter__test_1_1TrackedString.html"> 119</a></span> <span class="keyword">class </span><a class="code hl_class" href="classripple_1_1test_1_1ClosureCounter__test_1_1TrackedString.html">TrackedString</a></div>
<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span> {</div>
<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"> 121</span> <span class="keyword">public</span>:</div>
@@ -203,21 +214,27 @@ $(function() {
<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"> 125</span> </div>
<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"><a class="line" href="classripple_1_1test_1_1ClosureCounter__test_1_1TrackedString.html#a35dccf09f7c1151624f747db0f0fd1e9"> 126</a></span> <a class="code hl_function" href="classripple_1_1test_1_1ClosureCounter__test_1_1TrackedString.html#a35dccf09f7c1151624f747db0f0fd1e9">TrackedString</a>() = <span class="keyword">delete</span>;</div>
<div class="line"><a id="l00127" name="l00127"></a><span class="lineno"> 127</span> </div>
<div class="foldopen" id="foldopen00128" data-start="{" data-end="}">
<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"><a class="line" href="classripple_1_1test_1_1ClosureCounter__test_1_1TrackedString.html#ac440944298b6c1696f2957a41099c0bf"> 128</a></span> <span class="keyword">explicit</span> <a class="code hl_function" href="classripple_1_1test_1_1ClosureCounter__test_1_1TrackedString.html#ac440944298b6c1696f2957a41099c0bf">TrackedString</a>(<span class="keywordtype">char</span> <span class="keyword">const</span>* rhs) : <a class="code hl_variable" href="classripple_1_1test_1_1ClosureCounter__test_1_1TrackedString.html#aff0a73282a3722ce27d4e9a993966956">str</a>(rhs)</div>
<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"> 129</span> {</div>
<div class="line"><a id="l00130" name="l00130"></a><span class="lineno"> 130</span> }</div>
</div>
<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"> 131</span> </div>
<div class="line"><a id="l00132" name="l00132"></a><span class="lineno"> 132</span> <span class="comment">// Copy constructor</span></div>
<div class="foldopen" id="foldopen00133" data-start="{" data-end="}">
<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"><a class="line" href="classripple_1_1test_1_1ClosureCounter__test_1_1TrackedString.html#a36b6ae7fc35229692325e01ac265ee2f"> 133</a></span> <a class="code hl_function" href="classripple_1_1test_1_1ClosureCounter__test_1_1TrackedString.html#a36b6ae7fc35229692325e01ac265ee2f">TrackedString</a>(<a class="code hl_class" href="classripple_1_1test_1_1ClosureCounter__test_1_1TrackedString.html">TrackedString</a> <span class="keyword">const</span>&amp; rhs)</div>
<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"> 134</span> : <a class="code hl_variable" href="classripple_1_1test_1_1ClosureCounter__test_1_1TrackedString.html#af54e092ee2420ab7e2c5f7508294880f">copies</a>(rhs.<a class="code hl_variable" href="classripple_1_1test_1_1ClosureCounter__test_1_1TrackedString.html#af54e092ee2420ab7e2c5f7508294880f">copies</a> + 1), <a class="code hl_variable" href="classripple_1_1test_1_1ClosureCounter__test_1_1TrackedString.html#a801c4755e02f0a8a4cb13a4a24ebf442">moves</a>(rhs.<a class="code hl_variable" href="classripple_1_1test_1_1ClosureCounter__test_1_1TrackedString.html#a801c4755e02f0a8a4cb13a4a24ebf442">moves</a>), <a class="code hl_variable" href="classripple_1_1test_1_1ClosureCounter__test_1_1TrackedString.html#aff0a73282a3722ce27d4e9a993966956">str</a>(rhs.<a class="code hl_variable" href="classripple_1_1test_1_1ClosureCounter__test_1_1TrackedString.html#aff0a73282a3722ce27d4e9a993966956">str</a>)</div>
<div class="line"><a id="l00135" name="l00135"></a><span class="lineno"> 135</span> {</div>
<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"> 136</span> }</div>
</div>
<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"> 137</span> </div>
<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"> 138</span> <span class="comment">// Move constructor</span></div>
<div class="foldopen" id="foldopen00139" data-start="{" data-end="}">
<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"><a class="line" href="classripple_1_1test_1_1ClosureCounter__test_1_1TrackedString.html#a5eeb1b27c5ac4297cbf85b38390d9237"> 139</a></span> <a class="code hl_function" href="classripple_1_1test_1_1ClosureCounter__test_1_1TrackedString.html#a5eeb1b27c5ac4297cbf85b38390d9237">TrackedString</a>(<a class="code hl_class" href="classripple_1_1test_1_1ClosureCounter__test_1_1TrackedString.html">TrackedString</a>&amp;&amp; rhs) noexcept</div>
<div class="line"><a id="l00140" name="l00140"></a><span class="lineno"> 140</span> : <a class="code hl_variable" href="classripple_1_1test_1_1ClosureCounter__test_1_1TrackedString.html#af54e092ee2420ab7e2c5f7508294880f">copies</a>(rhs.copies), <a class="code hl_variable" href="classripple_1_1test_1_1ClosureCounter__test_1_1TrackedString.html#a801c4755e02f0a8a4cb13a4a24ebf442">moves</a>(rhs.moves + 1), <a class="code hl_variable" href="classripple_1_1test_1_1ClosureCounter__test_1_1TrackedString.html#aff0a73282a3722ce27d4e9a993966956">str</a>(std::move(rhs.str))</div>
<div class="line"><a id="l00141" name="l00141"></a><span class="lineno"> 141</span> {</div>
<div class="line"><a id="l00142" name="l00142"></a><span class="lineno"> 142</span> }</div>
</div>
<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"> 143</span> </div>
<div class="line"><a id="l00144" name="l00144"></a><span class="lineno"> 144</span> <span class="comment">// Delete copy and move assignment.</span></div>
<div class="line"><a id="l00145" name="l00145"></a><span class="lineno"> 145</span> <a class="code hl_class" href="classripple_1_1test_1_1ClosureCounter__test_1_1TrackedString.html">TrackedString</a>&amp;</div>
@@ -225,22 +242,28 @@ $(function() {
<div class="line"><a id="l00147" name="l00147"></a><span class="lineno"> 147</span> </div>
<div class="line"><a id="l00148" name="l00148"></a><span class="lineno"> 148</span> <span class="comment">// String concatenation</span></div>
<div class="line"><a id="l00149" name="l00149"></a><span class="lineno"> 149</span> <a class="code hl_class" href="classripple_1_1test_1_1ClosureCounter__test_1_1TrackedString.html">TrackedString</a>&amp;</div>
<div class="foldopen" id="foldopen00150" data-start="{" data-end="}">
<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"><a class="line" href="classripple_1_1test_1_1ClosureCounter__test_1_1TrackedString.html#addabb590d8b6591f27e154da2b6edec1"> 150</a></span> <a class="code hl_function" href="classripple_1_1test_1_1ClosureCounter__test_1_1TrackedString.html#addabb590d8b6591f27e154da2b6edec1">operator+=</a>(<span class="keywordtype">char</span> <span class="keyword">const</span>* rhs)</div>
<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"> 151</span> {</div>
<div class="line"><a id="l00152" name="l00152"></a><span class="lineno"> 152</span> <a class="code hl_variable" href="classripple_1_1test_1_1ClosureCounter__test_1_1TrackedString.html#aff0a73282a3722ce27d4e9a993966956">str</a> += rhs;</div>
<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"> 153</span> <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"> 154</span> }</div>
</div>
<div class="line"><a id="l00155" name="l00155"></a><span class="lineno"> 155</span> </div>
<div class="line"><a id="l00156" name="l00156"></a><span class="lineno"> 156</span> <span class="keyword">friend</span> <a class="code hl_class" href="classripple_1_1test_1_1ClosureCounter__test_1_1TrackedString.html">TrackedString</a></div>
<div class="foldopen" id="foldopen00157" data-start="{" data-end="};">
<div class="line"><a id="l00157" name="l00157"></a><span class="lineno"><a class="line" href="classripple_1_1test_1_1ClosureCounter__test_1_1TrackedString.html#a3294115f0415eb3e27683641c1061279"> 157</a></span> <a class="code hl_friend" href="classripple_1_1test_1_1ClosureCounter__test_1_1TrackedString.html#a3294115f0415eb3e27683641c1061279">operator+</a>(<a class="code hl_class" href="classripple_1_1test_1_1ClosureCounter__test_1_1TrackedString.html">TrackedString</a> <span class="keyword">const</span>&amp; s, <span class="keywordtype">char</span> <span class="keyword">const</span>* rhs)</div>
<div class="line"><a id="l00158" name="l00158"></a><span class="lineno"> 158</span> {</div>
<div class="line"><a id="l00159" name="l00159"></a><span class="lineno"> 159</span> <a class="code hl_class" href="classripple_1_1test_1_1ClosureCounter__test_1_1TrackedString.html">TrackedString</a> ret{s};</div>
<div class="line"><a id="l00160" name="l00160"></a><span class="lineno"> 160</span> ret.<a class="code hl_variable" href="classripple_1_1test_1_1ClosureCounter__test_1_1TrackedString.html#aff0a73282a3722ce27d4e9a993966956">str</a> += rhs;</div>
<div class="line"><a id="l00161" name="l00161"></a><span class="lineno"> 161</span> <span class="keywordflow">return</span> ret;</div>
<div class="line"><a id="l00162" name="l00162"></a><span class="lineno"> 162</span> }</div>
</div>
<div class="line"><a id="l00163" name="l00163"></a><span class="lineno"> 163</span> };</div>
</div>
<div class="line"><a id="l00164" name="l00164"></a><span class="lineno"> 164</span> </div>
<div class="line"><a id="l00165" name="l00165"></a><span class="lineno"> 165</span> <span class="keywordtype">void</span></div>
<div class="foldopen" id="foldopen00166" data-start="{" data-end="}">
<div class="line"><a id="l00166" name="l00166"></a><span class="lineno"><a class="line" href="classripple_1_1test_1_1ClosureCounter__test.html#ae31ece40aebd3666ccd4bcd00a1fe364"> 166</a></span> <a class="code hl_function" href="classripple_1_1test_1_1ClosureCounter__test.html#ae31ece40aebd3666ccd4bcd00a1fe364">testArgs</a>()</div>
<div class="line"><a id="l00167" name="l00167"></a><span class="lineno"> 167</span> {</div>
<div class="line"><a id="l00168" name="l00168"></a><span class="lineno"> 168</span> <span class="comment">// Make sure a wrapped closure handles rvalue reference arguments</span></div>
@@ -325,8 +348,10 @@ $(function() {
<div class="line"><a id="l00247" name="l00247"></a><span class="lineno"> 247</span> BEAST_EXPECT(strRValue.<a class="code hl_variable" href="classripple_1_1test_1_1ClosureCounter__test_1_1TrackedString.html#aff0a73282a3722ce27d4e9a993966956">str</a>.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/string/basic_string/size.html">size</a>() == 0);</div>
<div class="line"><a id="l00248" name="l00248"></a><span class="lineno"> 248</span> }</div>
<div class="line"><a id="l00249" name="l00249"></a><span class="lineno"> 249</span> }</div>
</div>
<div class="line"><a id="l00250" name="l00250"></a><span class="lineno"> 250</span> </div>
<div class="line"><a id="l00251" name="l00251"></a><span class="lineno"> 251</span> <span class="keywordtype">void</span></div>
<div class="foldopen" id="foldopen00252" data-start="{" data-end="}">
<div class="line"><a id="l00252" name="l00252"></a><span class="lineno"><a class="line" href="classripple_1_1test_1_1ClosureCounter__test.html#a3cd41657c76194447720827f1007460f"> 252</a></span> <a class="code hl_function" href="classripple_1_1test_1_1ClosureCounter__test.html#a3cd41657c76194447720827f1007460f">testWrap</a>()</div>
<div class="line"><a id="l00253" name="l00253"></a><span class="lineno"> 253</span> {</div>
<div class="line"><a id="l00254" name="l00254"></a><span class="lineno"> 254</span> <span class="comment">// Verify reference counting.</span></div>
@@ -361,10 +386,12 @@ $(function() {
<div class="line"><a id="l00283" name="l00283"></a><span class="lineno"> 283</span> voidCounter.<a class="code hl_function" href="classripple_1_1ClosureCounter.html#af0786d10092850fd4a1f10d0bec927a7">join</a>(<span class="stringliteral">&quot;testWrap&quot;</span>, 1ms, <a class="code hl_variable" href="classripple_1_1test_1_1ClosureCounter__test.html#a85767ce9e2f9033e7bd3fe44fc3a9cfe">j</a>);</div>
<div class="line"><a id="l00284" name="l00284"></a><span class="lineno"> 284</span> </div>
<div class="line"><a id="l00285" name="l00285"></a><span class="lineno"> 285</span> <span class="comment">// Wrapping a closure after join() should return std::nullopt.</span></div>
<div class="line"><a id="l00286" name="l00286"></a><span class="lineno"> 286</span> BEAST_EXPECT(voidCounter.<a class="code hl_function" href="classripple_1_1ClosureCounter.html#a14a40130eba0b1a5a12e8b8a0df809b5">wrap</a>([]() {}) == std::nullopt);</div>
<div class="line"><a id="l00286" name="l00286"></a><span class="lineno"> 286</span> BEAST_EXPECT(voidCounter.<a class="code hl_function" href="classripple_1_1ClosureCounter.html#a14a40130eba0b1a5a12e8b8a0df809b5">wrap</a>([]() {}) == <a class="code hl_variableRef" href="http://en.cppreference.com/w/cpp/types/is_same.html">std::nullopt</a>);</div>
<div class="line"><a id="l00287" name="l00287"></a><span class="lineno"> 287</span> }</div>
</div>
<div class="line"><a id="l00288" name="l00288"></a><span class="lineno"> 288</span> </div>
<div class="line"><a id="l00289" name="l00289"></a><span class="lineno"> 289</span> <span class="keywordtype">void</span></div>
<div class="foldopen" id="foldopen00290" data-start="{" data-end="}">
<div class="line"><a id="l00290" name="l00290"></a><span class="lineno"><a class="line" href="classripple_1_1test_1_1ClosureCounter__test.html#add6b327cab334690a6ce88ac304568a4"> 290</a></span> <a class="code hl_function" href="classripple_1_1test_1_1ClosureCounter__test.html#add6b327cab334690a6ce88ac304568a4">testWaitOnJoin</a>()</div>
<div class="line"><a id="l00291" name="l00291"></a><span class="lineno"> 291</span> {</div>
<div class="line"><a id="l00292" name="l00292"></a><span class="lineno"> 292</span> <span class="comment">// Verify reference counting.</span></div>
@@ -396,7 +423,7 @@ $(function() {
<div class="line"><a id="l00318" name="l00318"></a><span class="lineno"> 318</span> </div>
<div class="line"><a id="l00319" name="l00319"></a><span class="lineno"> 319</span> <span class="comment">// Destroy the contents of wrapped and expect the thread to exit</span></div>
<div class="line"><a id="l00320" name="l00320"></a><span class="lineno"> 320</span> <span class="comment">// (asynchronously).</span></div>
<div class="line"><a id="l00321" name="l00321"></a><span class="lineno"> 321</span> wrapped = std::nullopt;</div>
<div class="line"><a id="l00321" name="l00321"></a><span class="lineno"> 321</span> wrapped = <a class="code hl_variableRef" href="http://en.cppreference.com/w/cpp/types/is_same.html">std::nullopt</a>;</div>
<div class="line"><a id="l00322" name="l00322"></a><span class="lineno"> 322</span> BEAST_EXPECT(voidCounter.<a class="code hl_function" href="classripple_1_1ClosureCounter.html#aa2194cbada192730b683d89a27434fb8">count</a>() == 0);</div>
<div class="line"><a id="l00323" name="l00323"></a><span class="lineno"> 323</span> </div>
<div class="line"><a id="l00324" name="l00324"></a><span class="lineno"> 324</span> <span class="comment">// Wait for the thread to exit.</span></div>
@@ -404,9 +431,11 @@ $(function() {
<div class="line"><a id="l00326" name="l00326"></a><span class="lineno"> 326</span> ;</div>
<div class="line"><a id="l00327" name="l00327"></a><span class="lineno"> 327</span> localThread.join();</div>
<div class="line"><a id="l00328" name="l00328"></a><span class="lineno"> 328</span> }</div>
</div>
<div class="line"><a id="l00329" name="l00329"></a><span class="lineno"> 329</span> </div>
<div class="line"><a id="l00330" name="l00330"></a><span class="lineno"> 330</span><span class="keyword">public</span>:</div>
<div class="line"><a id="l00331" name="l00331"></a><span class="lineno"> 331</span> <span class="keywordtype">void</span></div>
<div class="foldopen" id="foldopen00332" data-start="{" data-end="}">
<div class="line"><a id="l00332" name="l00332"></a><span class="lineno"><a class="line" href="classripple_1_1test_1_1ClosureCounter__test.html#a17925375adc5072906ffffddbffc15be"> 332</a></span> <a class="code hl_function" href="classripple_1_1test_1_1ClosureCounter__test.html#a17925375adc5072906ffffddbffc15be">run</a>()<span class="keyword"> override</span></div>
<div class="line"><a id="l00333" name="l00333"></a><span class="lineno"> 333</span><span class="keyword"> </span>{</div>
<div class="line"><a id="l00334" name="l00334"></a><span class="lineno"> 334</span> <a class="code hl_function" href="classripple_1_1test_1_1ClosureCounter__test.html#a59848d3364b6f64fa3b0388142b98d4a">testConstruction</a>();</div>
@@ -414,7 +443,9 @@ $(function() {
<div class="line"><a id="l00336" name="l00336"></a><span class="lineno"> 336</span> <a class="code hl_function" href="classripple_1_1test_1_1ClosureCounter__test.html#a3cd41657c76194447720827f1007460f">testWrap</a>();</div>
<div class="line"><a id="l00337" name="l00337"></a><span class="lineno"> 337</span> <a class="code hl_function" href="classripple_1_1test_1_1ClosureCounter__test.html#add6b327cab334690a6ce88ac304568a4">testWaitOnJoin</a>();</div>
<div class="line"><a id="l00338" name="l00338"></a><span class="lineno"> 338</span> }</div>
</div>
<div class="line"><a id="l00339" name="l00339"></a><span class="lineno"> 339</span>};</div>
</div>
<div class="line"><a id="l00340" name="l00340"></a><span class="lineno"> 340</span> </div>
<div class="line"><a id="l00341" name="l00341"></a><span class="lineno"><a class="line" href="namespaceripple_1_1test.html#aba86fef8e4feb8901c48dcfffa7944f0"> 341</a></span>BEAST_DEFINE_TESTSUITE(<a class="code hl_class" href="classripple_1_1ClosureCounter.html">ClosureCounter</a>, core, <a class="code hl_namespace" href="namespaceripple.html">ripple</a>);</div>
<div class="line"><a id="l00342" name="l00342"></a><span class="lineno"> 342</span> </div>
@@ -423,39 +454,40 @@ $(function() {
<div class="ttc" id="aatomic_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/header/atomic.html">atomic</a></div></div>
<div class="ttc" id="abasic_string_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a></div></div>
<div class="ttc" id="achrono_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/header/chrono.html">chrono</a></div></div>
<div class="ttc" id="aclassbeast_1_1Journal_html"><div class="ttname"><a href="classbeast_1_1Journal.html">beast::Journal</a></div><div class="ttdoc">A generic endpoint for log messages.</div><div class="ttdef"><b>Definition:</b> <a href="Journal_8h_source.html#l00059">Journal.h:60</a></div></div>
<div class="ttc" id="aclassbeast_1_1unit__test_1_1suite_html"><div class="ttname"><a href="classbeast_1_1unit__test_1_1suite.html">beast::unit_test::suite</a></div><div class="ttdoc">A testsuite class.</div><div class="ttdef"><b>Definition:</b> <a href="suite_8h_source.html#l00054">suite.h:55</a></div></div>
<div class="ttc" id="aclassbeast_1_1Journal_html"><div class="ttname"><a href="classbeast_1_1Journal.html">beast::Journal</a></div><div class="ttdoc">A generic endpoint for log messages.</div><div class="ttdef"><b>Definition</b> <a href="Journal_8h_source.html#l00059">Journal.h:60</a></div></div>
<div class="ttc" id="aclassbeast_1_1unit__test_1_1suite_html"><div class="ttname"><a href="classbeast_1_1unit__test_1_1suite.html">beast::unit_test::suite</a></div><div class="ttdoc">A testsuite class.</div><div class="ttdef"><b>Definition</b> <a href="suite_8h_source.html#l00054">suite.h:55</a></div></div>
<div class="ttc" id="aclassripple_1_1Application_html_a2897c28a5b5040e80e66f676d201d03f"><div class="ttname"><a href="classripple_1_1Application.html#a2897c28a5b5040e80e66f676d201d03f">ripple::Application::journal</a></div><div class="ttdeci">virtual beast::Journal journal(std::string const &amp;name)=0</div></div>
<div class="ttc" id="aclassripple_1_1ClosureCounter_html"><div class="ttname"><a href="classripple_1_1ClosureCounter.html">ripple::ClosureCounter</a></div><div class="ttdoc">The role of a ClosureCounter is to assist in shutdown by letting callers wait for the completion of c...</div><div class="ttdef"><b>Definition:</b> <a href="ClosureCounter_8h_source.html#l00054">ClosureCounter.h:55</a></div></div>
<div class="ttc" id="aclassripple_1_1ClosureCounter_html_a063738b31b4d437c410ea4e1c2cde160"><div class="ttname"><a href="classripple_1_1ClosureCounter.html#a063738b31b4d437c410ea4e1c2cde160">ripple::ClosureCounter::joined</a></div><div class="ttdeci">bool joined() const</div><div class="ttdoc">Returns true if this has been joined.</div><div class="ttdef"><b>Definition:</b> <a href="ClosureCounter_8h_source.html#l00217">ClosureCounter.h:217</a></div></div>
<div class="ttc" id="aclassripple_1_1ClosureCounter_html_a14a40130eba0b1a5a12e8b8a0df809b5"><div class="ttname"><a href="classripple_1_1ClosureCounter.html#a14a40130eba0b1a5a12e8b8a0df809b5">ripple::ClosureCounter::wrap</a></div><div class="ttdeci">std::optional&lt; Substitute&lt; Closure &gt; &gt; wrap(Closure &amp;&amp;closure)</div><div class="ttdoc">Wrap the passed closure with a reference counter.</div><div class="ttdef"><b>Definition:</b> <a href="ClosureCounter_8h_source.html#l00192">ClosureCounter.h:192</a></div></div>
<div class="ttc" id="aclassripple_1_1ClosureCounter_html_aa2194cbada192730b683d89a27434fb8"><div class="ttname"><a href="classripple_1_1ClosureCounter.html#aa2194cbada192730b683d89a27434fb8">ripple::ClosureCounter::count</a></div><div class="ttdeci">int count() const</div><div class="ttdoc">Current number of Closures outstanding.</div><div class="ttdef"><b>Definition:</b> <a href="ClosureCounter_8h_source.html#l00205">ClosureCounter.h:205</a></div></div>
<div class="ttc" id="aclassripple_1_1ClosureCounter_html_af0786d10092850fd4a1f10d0bec927a7"><div class="ttname"><a href="classripple_1_1ClosureCounter.html#af0786d10092850fd4a1f10d0bec927a7">ripple::ClosureCounter::join</a></div><div class="ttdeci">void join(char const *name, std::chrono::milliseconds wait, beast::Journal j)</div><div class="ttdoc">Returns once all counted in-flight closures are destroyed.</div><div class="ttdef"><b>Definition:</b> <a href="ClosureCounter_8h_source.html#l00166">ClosureCounter.h:166</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1ClosureCounter__test_1_1TrackedString_html"><div class="ttname"><a href="classripple_1_1test_1_1ClosureCounter__test_1_1TrackedString.html">ripple::test::ClosureCounter_test::TrackedString</a></div><div class="ttdef"><b>Definition:</b> <a href="ClosureCounter__test_8cpp_source.html#l00119">ClosureCounter_test.cpp:120</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1ClosureCounter__test_1_1TrackedString_html_a3294115f0415eb3e27683641c1061279"><div class="ttname"><a href="classripple_1_1test_1_1ClosureCounter__test_1_1TrackedString.html#a3294115f0415eb3e27683641c1061279">ripple::test::ClosureCounter_test::TrackedString::operator+</a></div><div class="ttdeci">friend TrackedString operator+(TrackedString const &amp;s, char const *rhs)</div><div class="ttdef"><b>Definition:</b> <a href="ClosureCounter__test_8cpp_source.html#l00157">ClosureCounter_test.cpp:157</a></div></div>
<div class="ttc" id="aclassripple_1_1ClosureCounter_html"><div class="ttname"><a href="classripple_1_1ClosureCounter.html">ripple::ClosureCounter</a></div><div class="ttdoc">The role of a ClosureCounter is to assist in shutdown by letting callers wait for the completion of c...</div><div class="ttdef"><b>Definition</b> <a href="ClosureCounter_8h_source.html#l00054">ClosureCounter.h:55</a></div></div>
<div class="ttc" id="aclassripple_1_1ClosureCounter_html_a063738b31b4d437c410ea4e1c2cde160"><div class="ttname"><a href="classripple_1_1ClosureCounter.html#a063738b31b4d437c410ea4e1c2cde160">ripple::ClosureCounter::joined</a></div><div class="ttdeci">bool joined() const</div><div class="ttdoc">Returns true if this has been joined.</div><div class="ttdef"><b>Definition</b> <a href="ClosureCounter_8h_source.html#l00217">ClosureCounter.h:217</a></div></div>
<div class="ttc" id="aclassripple_1_1ClosureCounter_html_a14a40130eba0b1a5a12e8b8a0df809b5"><div class="ttname"><a href="classripple_1_1ClosureCounter.html#a14a40130eba0b1a5a12e8b8a0df809b5">ripple::ClosureCounter::wrap</a></div><div class="ttdeci">std::optional&lt; Substitute&lt; Closure &gt; &gt; wrap(Closure &amp;&amp;closure)</div><div class="ttdoc">Wrap the passed closure with a reference counter.</div><div class="ttdef"><b>Definition</b> <a href="ClosureCounter_8h_source.html#l00192">ClosureCounter.h:192</a></div></div>
<div class="ttc" id="aclassripple_1_1ClosureCounter_html_aa2194cbada192730b683d89a27434fb8"><div class="ttname"><a href="classripple_1_1ClosureCounter.html#aa2194cbada192730b683d89a27434fb8">ripple::ClosureCounter::count</a></div><div class="ttdeci">int count() const</div><div class="ttdoc">Current number of Closures outstanding.</div><div class="ttdef"><b>Definition</b> <a href="ClosureCounter_8h_source.html#l00205">ClosureCounter.h:205</a></div></div>
<div class="ttc" id="aclassripple_1_1ClosureCounter_html_af0786d10092850fd4a1f10d0bec927a7"><div class="ttname"><a href="classripple_1_1ClosureCounter.html#af0786d10092850fd4a1f10d0bec927a7">ripple::ClosureCounter::join</a></div><div class="ttdeci">void join(char const *name, std::chrono::milliseconds wait, beast::Journal j)</div><div class="ttdoc">Returns once all counted in-flight closures are destroyed.</div><div class="ttdef"><b>Definition</b> <a href="ClosureCounter_8h_source.html#l00166">ClosureCounter.h:166</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1ClosureCounter__test_1_1TrackedString_html"><div class="ttname"><a href="classripple_1_1test_1_1ClosureCounter__test_1_1TrackedString.html">ripple::test::ClosureCounter_test::TrackedString</a></div><div class="ttdef"><b>Definition</b> <a href="ClosureCounter__test_8cpp_source.html#l00119">ClosureCounter_test.cpp:120</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1ClosureCounter__test_1_1TrackedString_html_a3294115f0415eb3e27683641c1061279"><div class="ttname"><a href="classripple_1_1test_1_1ClosureCounter__test_1_1TrackedString.html#a3294115f0415eb3e27683641c1061279">ripple::test::ClosureCounter_test::TrackedString::operator+</a></div><div class="ttdeci">friend TrackedString operator+(TrackedString const &amp;s, char const *rhs)</div><div class="ttdef"><b>Definition</b> <a href="ClosureCounter__test_8cpp_source.html#l00157">ClosureCounter_test.cpp:157</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1ClosureCounter__test_1_1TrackedString_html_a35dccf09f7c1151624f747db0f0fd1e9"><div class="ttname"><a href="classripple_1_1test_1_1ClosureCounter__test_1_1TrackedString.html#a35dccf09f7c1151624f747db0f0fd1e9">ripple::test::ClosureCounter_test::TrackedString::TrackedString</a></div><div class="ttdeci">TrackedString()=delete</div></div>
<div class="ttc" id="aclassripple_1_1test_1_1ClosureCounter__test_1_1TrackedString_html_a36b6ae7fc35229692325e01ac265ee2f"><div class="ttname"><a href="classripple_1_1test_1_1ClosureCounter__test_1_1TrackedString.html#a36b6ae7fc35229692325e01ac265ee2f">ripple::test::ClosureCounter_test::TrackedString::TrackedString</a></div><div class="ttdeci">TrackedString(TrackedString const &amp;rhs)</div><div class="ttdef"><b>Definition:</b> <a href="ClosureCounter__test_8cpp_source.html#l00133">ClosureCounter_test.cpp:133</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1ClosureCounter__test_1_1TrackedString_html_a5eeb1b27c5ac4297cbf85b38390d9237"><div class="ttname"><a href="classripple_1_1test_1_1ClosureCounter__test_1_1TrackedString.html#a5eeb1b27c5ac4297cbf85b38390d9237">ripple::test::ClosureCounter_test::TrackedString::TrackedString</a></div><div class="ttdeci">TrackedString(TrackedString &amp;&amp;rhs) noexcept</div><div class="ttdef"><b>Definition:</b> <a href="ClosureCounter__test_8cpp_source.html#l00139">ClosureCounter_test.cpp:139</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1ClosureCounter__test_1_1TrackedString_html_a36b6ae7fc35229692325e01ac265ee2f"><div class="ttname"><a href="classripple_1_1test_1_1ClosureCounter__test_1_1TrackedString.html#a36b6ae7fc35229692325e01ac265ee2f">ripple::test::ClosureCounter_test::TrackedString::TrackedString</a></div><div class="ttdeci">TrackedString(TrackedString const &amp;rhs)</div><div class="ttdef"><b>Definition</b> <a href="ClosureCounter__test_8cpp_source.html#l00133">ClosureCounter_test.cpp:133</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1ClosureCounter__test_1_1TrackedString_html_a5eeb1b27c5ac4297cbf85b38390d9237"><div class="ttname"><a href="classripple_1_1test_1_1ClosureCounter__test_1_1TrackedString.html#a5eeb1b27c5ac4297cbf85b38390d9237">ripple::test::ClosureCounter_test::TrackedString::TrackedString</a></div><div class="ttdeci">TrackedString(TrackedString &amp;&amp;rhs) noexcept</div><div class="ttdef"><b>Definition</b> <a href="ClosureCounter__test_8cpp_source.html#l00139">ClosureCounter_test.cpp:139</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1ClosureCounter__test_1_1TrackedString_html_a798ce4bb2392cac35f8c4aef67138879"><div class="ttname"><a href="classripple_1_1test_1_1ClosureCounter__test_1_1TrackedString.html#a798ce4bb2392cac35f8c4aef67138879">ripple::test::ClosureCounter_test::TrackedString::operator=</a></div><div class="ttdeci">TrackedString &amp; operator=(TrackedString const &amp;rhs)=delete</div></div>
<div class="ttc" id="aclassripple_1_1test_1_1ClosureCounter__test_1_1TrackedString_html_a801c4755e02f0a8a4cb13a4a24ebf442"><div class="ttname"><a href="classripple_1_1test_1_1ClosureCounter__test_1_1TrackedString.html#a801c4755e02f0a8a4cb13a4a24ebf442">ripple::test::ClosureCounter_test::TrackedString::moves</a></div><div class="ttdeci">int moves</div><div class="ttdef"><b>Definition:</b> <a href="ClosureCounter__test_8cpp_source.html#l00123">ClosureCounter_test.cpp:123</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1ClosureCounter__test_1_1TrackedString_html_ac440944298b6c1696f2957a41099c0bf"><div class="ttname"><a href="classripple_1_1test_1_1ClosureCounter__test_1_1TrackedString.html#ac440944298b6c1696f2957a41099c0bf">ripple::test::ClosureCounter_test::TrackedString::TrackedString</a></div><div class="ttdeci">TrackedString(char const *rhs)</div><div class="ttdef"><b>Definition:</b> <a href="ClosureCounter__test_8cpp_source.html#l00128">ClosureCounter_test.cpp:128</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1ClosureCounter__test_1_1TrackedString_html_addabb590d8b6591f27e154da2b6edec1"><div class="ttname"><a href="classripple_1_1test_1_1ClosureCounter__test_1_1TrackedString.html#addabb590d8b6591f27e154da2b6edec1">ripple::test::ClosureCounter_test::TrackedString::operator+=</a></div><div class="ttdeci">TrackedString &amp; operator+=(char const *rhs)</div><div class="ttdef"><b>Definition:</b> <a href="ClosureCounter__test_8cpp_source.html#l00150">ClosureCounter_test.cpp:150</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1ClosureCounter__test_1_1TrackedString_html_af54e092ee2420ab7e2c5f7508294880f"><div class="ttname"><a href="classripple_1_1test_1_1ClosureCounter__test_1_1TrackedString.html#af54e092ee2420ab7e2c5f7508294880f">ripple::test::ClosureCounter_test::TrackedString::copies</a></div><div class="ttdeci">int copies</div><div class="ttdef"><b>Definition:</b> <a href="ClosureCounter__test_8cpp_source.html#l00122">ClosureCounter_test.cpp:122</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1ClosureCounter__test_1_1TrackedString_html_aff0a73282a3722ce27d4e9a993966956"><div class="ttname"><a href="classripple_1_1test_1_1ClosureCounter__test_1_1TrackedString.html#aff0a73282a3722ce27d4e9a993966956">ripple::test::ClosureCounter_test::TrackedString::str</a></div><div class="ttdeci">std::string str</div><div class="ttdef"><b>Definition:</b> <a href="ClosureCounter__test_8cpp_source.html#l00124">ClosureCounter_test.cpp:124</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1ClosureCounter__test_html"><div class="ttname"><a href="classripple_1_1test_1_1ClosureCounter__test.html">ripple::test::ClosureCounter_test</a></div><div class="ttdef"><b>Definition:</b> <a href="ClosureCounter__test_8cpp_source.html#l00035">ClosureCounter_test.cpp:36</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1ClosureCounter__test_html_a17925375adc5072906ffffddbffc15be"><div class="ttname"><a href="classripple_1_1test_1_1ClosureCounter__test.html#a17925375adc5072906ffffddbffc15be">ripple::test::ClosureCounter_test::run</a></div><div class="ttdeci">void run() override</div><div class="ttdoc">Runs the suite.</div><div class="ttdef"><b>Definition:</b> <a href="ClosureCounter__test_8cpp_source.html#l00332">ClosureCounter_test.cpp:332</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1ClosureCounter__test_html_a3cd41657c76194447720827f1007460f"><div class="ttname"><a href="classripple_1_1test_1_1ClosureCounter__test.html#a3cd41657c76194447720827f1007460f">ripple::test::ClosureCounter_test::testWrap</a></div><div class="ttdeci">void testWrap()</div><div class="ttdef"><b>Definition:</b> <a href="ClosureCounter__test_8cpp_source.html#l00252">ClosureCounter_test.cpp:252</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1ClosureCounter__test_html_a59848d3364b6f64fa3b0388142b98d4a"><div class="ttname"><a href="classripple_1_1test_1_1ClosureCounter__test.html#a59848d3364b6f64fa3b0388142b98d4a">ripple::test::ClosureCounter_test::testConstruction</a></div><div class="ttdeci">void testConstruction()</div><div class="ttdef"><b>Definition:</b> <a href="ClosureCounter__test_8cpp_source.html#l00047">ClosureCounter_test.cpp:47</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1ClosureCounter__test_html_a85767ce9e2f9033e7bd3fe44fc3a9cfe"><div class="ttname"><a href="classripple_1_1test_1_1ClosureCounter__test.html#a85767ce9e2f9033e7bd3fe44fc3a9cfe">ripple::test::ClosureCounter_test::j</a></div><div class="ttdeci">beast::Journal j</div><div class="ttdef"><b>Definition:</b> <a href="ClosureCounter__test_8cpp_source.html#l00044">ClosureCounter_test.cpp:44</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1ClosureCounter__test_html_aa7c869854a18d352f8c65f1d792f5ef9"><div class="ttname"><a href="classripple_1_1test_1_1ClosureCounter__test.html#aa7c869854a18d352f8c65f1d792f5ef9">ripple::test::ClosureCounter_test::env_</a></div><div class="ttdeci">test::jtx::Env env_</div><div class="ttdef"><b>Definition:</b> <a href="ClosureCounter__test_8cpp_source.html#l00039">ClosureCounter_test.cpp:39</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1ClosureCounter__test_html_add6b327cab334690a6ce88ac304568a4"><div class="ttname"><a href="classripple_1_1test_1_1ClosureCounter__test.html#add6b327cab334690a6ce88ac304568a4">ripple::test::ClosureCounter_test::testWaitOnJoin</a></div><div class="ttdeci">void testWaitOnJoin()</div><div class="ttdef"><b>Definition:</b> <a href="ClosureCounter__test_8cpp_source.html#l00290">ClosureCounter_test.cpp:290</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1ClosureCounter__test_html_ae31ece40aebd3666ccd4bcd00a1fe364"><div class="ttname"><a href="classripple_1_1test_1_1ClosureCounter__test.html#ae31ece40aebd3666ccd4bcd00a1fe364">ripple::test::ClosureCounter_test::testArgs</a></div><div class="ttdeci">void testArgs()</div><div class="ttdef"><b>Definition:</b> <a href="ClosureCounter__test_8cpp_source.html#l00166">ClosureCounter_test.cpp:166</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1jtx_1_1Env_html"><div class="ttname"><a href="classripple_1_1test_1_1jtx_1_1Env.html">ripple::test::jtx::Env</a></div><div class="ttdoc">A transaction testing environment.</div><div class="ttdef"><b>Definition:</b> <a href="Env_8h_source.html#l00120">Env.h:121</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1jtx_1_1Env_html_acd48f8ab02c37b1a30cedf4dec7cc96c"><div class="ttname"><a href="classripple_1_1test_1_1jtx_1_1Env.html#acd48f8ab02c37b1a30cedf4dec7cc96c">ripple::test::jtx::Env::app</a></div><div class="ttdeci">Application &amp; app()</div><div class="ttdef"><b>Definition:</b> <a href="Env_8h_source.html#l00261">Env.h:261</a></div></div>
<div class="ttc" id="anamespacebeast_1_1severities_html_a069a8a312b9123b77f6aa31733ca73beae13a45640877c138fc59c94443ece6f0"><div class="ttname"><a href="namespacebeast_1_1severities.html#a069a8a312b9123b77f6aa31733ca73beae13a45640877c138fc59c94443ece6f0">beast::severities::kDisabled</a></div><div class="ttdeci">@ kDisabled</div><div class="ttdef"><b>Definition:</b> <a href="Journal_8h_source.html#l00042">Journal.h:42</a></div></div>
<div class="ttc" id="anamespaceripple_1_1test_1_1jtx_html_a7a4caa0465c555c5c59ce7c0d0d48d78"><div class="ttname"><a href="namespaceripple_1_1test_1_1jtx.html#a7a4caa0465c555c5c59ce7c0d0d48d78">ripple::test::jtx::envconfig</a></div><div class="ttdeci">std::unique_ptr&lt; Config &gt; envconfig()</div><div class="ttdoc">creates and initializes a default configuration for jtx::Env</div><div class="ttdef"><b>Definition:</b> <a href="envconfig_8h_source.html#l00054">envconfig.h:54</a></div></div>
<div class="ttc" id="anamespaceripple_html"><div class="ttname"><a href="namespaceripple.html">ripple</a></div><div class="ttdoc">Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.</div><div class="ttdef"><b>Definition:</b> <a href="algorithm_8h_source.html#l00025">algorithm.h:25</a></div></div>
<div class="ttc" id="anamespaceripple_html_a06f1da429e6a72c7a8be4248d88ed6e7"><div class="ttname"><a href="namespaceripple.html#a06f1da429e6a72c7a8be4248d88ed6e7">ripple::sum</a></div><div class="ttdeci">static auto sum(TCollection const &amp;col)</div><div class="ttdef"><b>Definition:</b> <a href="BookStep_8cpp_source.html#l01004">BookStep.cpp:1004</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1ClosureCounter__test_1_1TrackedString_html_a801c4755e02f0a8a4cb13a4a24ebf442"><div class="ttname"><a href="classripple_1_1test_1_1ClosureCounter__test_1_1TrackedString.html#a801c4755e02f0a8a4cb13a4a24ebf442">ripple::test::ClosureCounter_test::TrackedString::moves</a></div><div class="ttdeci">int moves</div><div class="ttdef"><b>Definition</b> <a href="ClosureCounter__test_8cpp_source.html#l00123">ClosureCounter_test.cpp:123</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1ClosureCounter__test_1_1TrackedString_html_ac440944298b6c1696f2957a41099c0bf"><div class="ttname"><a href="classripple_1_1test_1_1ClosureCounter__test_1_1TrackedString.html#ac440944298b6c1696f2957a41099c0bf">ripple::test::ClosureCounter_test::TrackedString::TrackedString</a></div><div class="ttdeci">TrackedString(char const *rhs)</div><div class="ttdef"><b>Definition</b> <a href="ClosureCounter__test_8cpp_source.html#l00128">ClosureCounter_test.cpp:128</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1ClosureCounter__test_1_1TrackedString_html_addabb590d8b6591f27e154da2b6edec1"><div class="ttname"><a href="classripple_1_1test_1_1ClosureCounter__test_1_1TrackedString.html#addabb590d8b6591f27e154da2b6edec1">ripple::test::ClosureCounter_test::TrackedString::operator+=</a></div><div class="ttdeci">TrackedString &amp; operator+=(char const *rhs)</div><div class="ttdef"><b>Definition</b> <a href="ClosureCounter__test_8cpp_source.html#l00150">ClosureCounter_test.cpp:150</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1ClosureCounter__test_1_1TrackedString_html_af54e092ee2420ab7e2c5f7508294880f"><div class="ttname"><a href="classripple_1_1test_1_1ClosureCounter__test_1_1TrackedString.html#af54e092ee2420ab7e2c5f7508294880f">ripple::test::ClosureCounter_test::TrackedString::copies</a></div><div class="ttdeci">int copies</div><div class="ttdef"><b>Definition</b> <a href="ClosureCounter__test_8cpp_source.html#l00122">ClosureCounter_test.cpp:122</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1ClosureCounter__test_1_1TrackedString_html_aff0a73282a3722ce27d4e9a993966956"><div class="ttname"><a href="classripple_1_1test_1_1ClosureCounter__test_1_1TrackedString.html#aff0a73282a3722ce27d4e9a993966956">ripple::test::ClosureCounter_test::TrackedString::str</a></div><div class="ttdeci">std::string str</div><div class="ttdef"><b>Definition</b> <a href="ClosureCounter__test_8cpp_source.html#l00124">ClosureCounter_test.cpp:124</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1ClosureCounter__test_html"><div class="ttname"><a href="classripple_1_1test_1_1ClosureCounter__test.html">ripple::test::ClosureCounter_test</a></div><div class="ttdef"><b>Definition</b> <a href="ClosureCounter__test_8cpp_source.html#l00035">ClosureCounter_test.cpp:36</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1ClosureCounter__test_html_a17925375adc5072906ffffddbffc15be"><div class="ttname"><a href="classripple_1_1test_1_1ClosureCounter__test.html#a17925375adc5072906ffffddbffc15be">ripple::test::ClosureCounter_test::run</a></div><div class="ttdeci">void run() override</div><div class="ttdoc">Runs the suite.</div><div class="ttdef"><b>Definition</b> <a href="ClosureCounter__test_8cpp_source.html#l00332">ClosureCounter_test.cpp:332</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1ClosureCounter__test_html_a3cd41657c76194447720827f1007460f"><div class="ttname"><a href="classripple_1_1test_1_1ClosureCounter__test.html#a3cd41657c76194447720827f1007460f">ripple::test::ClosureCounter_test::testWrap</a></div><div class="ttdeci">void testWrap()</div><div class="ttdef"><b>Definition</b> <a href="ClosureCounter__test_8cpp_source.html#l00252">ClosureCounter_test.cpp:252</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1ClosureCounter__test_html_a59848d3364b6f64fa3b0388142b98d4a"><div class="ttname"><a href="classripple_1_1test_1_1ClosureCounter__test.html#a59848d3364b6f64fa3b0388142b98d4a">ripple::test::ClosureCounter_test::testConstruction</a></div><div class="ttdeci">void testConstruction()</div><div class="ttdef"><b>Definition</b> <a href="ClosureCounter__test_8cpp_source.html#l00047">ClosureCounter_test.cpp:47</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1ClosureCounter__test_html_a85767ce9e2f9033e7bd3fe44fc3a9cfe"><div class="ttname"><a href="classripple_1_1test_1_1ClosureCounter__test.html#a85767ce9e2f9033e7bd3fe44fc3a9cfe">ripple::test::ClosureCounter_test::j</a></div><div class="ttdeci">beast::Journal j</div><div class="ttdef"><b>Definition</b> <a href="ClosureCounter__test_8cpp_source.html#l00044">ClosureCounter_test.cpp:44</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1ClosureCounter__test_html_aa7c869854a18d352f8c65f1d792f5ef9"><div class="ttname"><a href="classripple_1_1test_1_1ClosureCounter__test.html#aa7c869854a18d352f8c65f1d792f5ef9">ripple::test::ClosureCounter_test::env_</a></div><div class="ttdeci">test::jtx::Env env_</div><div class="ttdef"><b>Definition</b> <a href="ClosureCounter__test_8cpp_source.html#l00039">ClosureCounter_test.cpp:39</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1ClosureCounter__test_html_add6b327cab334690a6ce88ac304568a4"><div class="ttname"><a href="classripple_1_1test_1_1ClosureCounter__test.html#add6b327cab334690a6ce88ac304568a4">ripple::test::ClosureCounter_test::testWaitOnJoin</a></div><div class="ttdeci">void testWaitOnJoin()</div><div class="ttdef"><b>Definition</b> <a href="ClosureCounter__test_8cpp_source.html#l00290">ClosureCounter_test.cpp:290</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1ClosureCounter__test_html_ae31ece40aebd3666ccd4bcd00a1fe364"><div class="ttname"><a href="classripple_1_1test_1_1ClosureCounter__test.html#ae31ece40aebd3666ccd4bcd00a1fe364">ripple::test::ClosureCounter_test::testArgs</a></div><div class="ttdeci">void testArgs()</div><div class="ttdef"><b>Definition</b> <a href="ClosureCounter__test_8cpp_source.html#l00166">ClosureCounter_test.cpp:166</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1jtx_1_1Env_html"><div class="ttname"><a href="classripple_1_1test_1_1jtx_1_1Env.html">ripple::test::jtx::Env</a></div><div class="ttdoc">A transaction testing environment.</div><div class="ttdef"><b>Definition</b> <a href="Env_8h_source.html#l00120">Env.h:121</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1jtx_1_1Env_html_acd48f8ab02c37b1a30cedf4dec7cc96c"><div class="ttname"><a href="classripple_1_1test_1_1jtx_1_1Env.html#acd48f8ab02c37b1a30cedf4dec7cc96c">ripple::test::jtx::Env::app</a></div><div class="ttdeci">Application &amp; app()</div><div class="ttdef"><b>Definition</b> <a href="Env_8h_source.html#l00261">Env.h:261</a></div></div>
<div class="ttc" id="ais_same_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/types/is_same.html">std::is_same_v</a></div><div class="ttdeci">T is_same_v</div></div>
<div class="ttc" id="anamespacebeast_1_1severities_html_a069a8a312b9123b77f6aa31733ca73beae13a45640877c138fc59c94443ece6f0"><div class="ttname"><a href="namespacebeast_1_1severities.html#a069a8a312b9123b77f6aa31733ca73beae13a45640877c138fc59c94443ece6f0">beast::severities::kDisabled</a></div><div class="ttdeci">@ kDisabled</div><div class="ttdef"><b>Definition</b> <a href="Journal_8h_source.html#l00042">Journal.h:42</a></div></div>
<div class="ttc" id="anamespaceripple_1_1test_1_1jtx_html_a7a4caa0465c555c5c59ce7c0d0d48d78"><div class="ttname"><a href="namespaceripple_1_1test_1_1jtx.html#a7a4caa0465c555c5c59ce7c0d0d48d78">ripple::test::jtx::envconfig</a></div><div class="ttdeci">std::unique_ptr&lt; Config &gt; envconfig()</div><div class="ttdoc">creates and initializes a default configuration for jtx::Env</div><div class="ttdef"><b>Definition</b> <a href="envconfig_8h_source.html#l00054">envconfig.h:54</a></div></div>
<div class="ttc" id="anamespaceripple_html"><div class="ttname"><a href="namespaceripple.html">ripple</a></div><div class="ttdoc">Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.</div><div class="ttdef"><b>Definition</b> <a href="algorithm_8h_source.html#l00025">algorithm.h:25</a></div></div>
<div class="ttc" id="anamespaceripple_html_a06f1da429e6a72c7a8be4248d88ed6e7"><div class="ttname"><a href="namespaceripple.html#a06f1da429e6a72c7a8be4248d88ed6e7">ripple::sum</a></div><div class="ttdeci">static auto sum(TCollection const &amp;col)</div><div class="ttdef"><b>Definition</b> <a href="BookStep_8cpp_source.html#l01004">BookStep.cpp:1004</a></div></div>
<div class="ttc" id="anamespaceripple_html_a7cc64e12723fbc9606d85442a2569feda13b5bfe96f3e2fe411c9f66f4a582adf"><div class="ttname"><a href="namespaceripple.html#a7cc64e12723fbc9606d85442a2569feda13b5bfe96f3e2fe411c9f66f4a582adf">ripple::QualityDirection::in</a></div><div class="ttdeci">@ in</div></div>
<div class="ttc" id="asize_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/string/basic_string/size.html">std::string::size</a></div><div class="ttdeci">T size(T... args)</div></div>
<div class="ttc" id="asleep_for_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/thread/sleep_for.html">std::this_thread::sleep_for</a></div><div class="ttdeci">T sleep_for(T... args)</div></div>
@@ -463,7 +495,7 @@ $(function() {
</div><!-- fragment --></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.5
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.8
</small></address>
</body>
</html>