Skip to content

Commit

Permalink
refactor
Browse files Browse the repository at this point in the history
  • Loading branch information
vitamin committed Jan 20, 2022
1 parent 4a9d87b commit 20e4f48
Show file tree
Hide file tree
Showing 21 changed files with 101 additions and 232 deletions.
12 changes: 6 additions & 6 deletions docs/autoptr/common.html
Original file line number Diff line number Diff line change
Expand Up @@ -174,8 +174,8 @@ <h2>Aliases</h2>
</tr>
<tr>
<td>
<a id="ControlTypeDeduction" class="public" href="../autoptr/common/ControlTypeDeduction.html">
<code>ControlTypeDeduction</code>
<a id="ControlBlockDeduction" class="public" href="../autoptr/common/ControlBlockDeduction.html">
<code>ControlBlockDeduction</code>
</a>
</td>
<td>
Expand Down Expand Up @@ -246,8 +246,8 @@ <h2>Aliases</h2>
</tr>
<tr>
<td>
<a id="SharedControlType" class="public" href="../autoptr/common/SharedControlType.html">
<code>SharedControlType</code>
<a id="SharedControlBlock" class="public" href="../autoptr/common/SharedControlBlock.html">
<code>SharedControlBlock</code>
</a>
</td>
<td>
Expand All @@ -258,8 +258,8 @@ <h2>Aliases</h2>
</tr>
<tr>
<td>
<a id="UniqueControlType" class="public" href="../autoptr/common/UniqueControlType.html">
<code>UniqueControlType</code>
<a id="UniqueControlBlock" class="public" href="../autoptr/common/UniqueControlBlock.html">
<code>UniqueControlBlock</code>
</a>
</td>
<td>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<html>
<head>
<meta charset="UTF-8"/>
<title>Alias ControlTypeDeduction</title>
<title>Alias ControlBlockDeduction</title>
<link rel="stylesheet" type="text/css" href="../../styles/ddox.css"/>
<link rel="stylesheet" href="../../prettify/prettify.css" type="text/css"/>
<script type="text/javascript" src="../../scripts/jquery.js">/**/</script><script type="text/javascript" src="../../scripts/ddox.js">/**/</script>
Expand Down Expand Up @@ -55,12 +55,12 @@
</ul>
</nav>
<div id="main-contents">
<h1>Alias ControlTypeDeduction</h1><p>This template deduce <code class="lang-d"><span class="typ">ControlType</span></code> shared qualifier in <code class="lang-d"><span class="typ">SharedPtr</span></code>, <code class="lang-d"><span class="typ">RcPtr</span></code> and <code class="lang-d"><span class="typ">UniquePtr</span></code>.
<h1>Alias ControlBlockDeduction</h1><p>This template deduce <code class="lang-d"><span class="typ">ControlType</span></code> shared qualifier in <code class="lang-d"><span class="typ">SharedPtr</span></code>, <code class="lang-d"><span class="typ">RcPtr</span></code> and <code class="lang-d"><span class="typ">UniquePtr</span></code>.
</p>
<div class="prototype">
<code class="lang-d">
<div class="single-prototype">
<span class="kwd">alias</span> <span class="pln">ControlTypeDeduction</span>(Type, ControlType)
<span class="kwd">alias</span> <span class="pln">ControlBlockDeduction</span>(Type, ControlType)
<span class="pun">=</span> <span class="pln">impl</span><span class="pun">;</span>
</div>
</code>
Expand All @@ -71,18 +71,18 @@ <h1>Alias ControlTypeDeduction</h1><p>This template deduce <code class="lang-d">

<section><h2>Example</h2>

<pre class="code"><code class="lang-d"><span class="kwd">alias </span><span class="typ">ControlType </span><span class="pun">= <a href="../../autoptr/common/ControlBlock.html"></span><span class="typ">ControlBlock</span></a><span class="pun">!(</span><span class="typ">int</span><span class="pun">, </span><span class="typ">int</span><span class="pun">);
<pre class="code"><code class="lang-d"><span class="kwd">alias </span><span class="pln">CB </span><span class="pun">= <a href="../../autoptr/common/ControlBlock.html"></span><span class="typ">ControlBlock</span></a><span class="pun">!(</span><span class="typ">int</span><span class="pun">, </span><span class="typ">int</span><span class="pun">);

</span><span class="kwd">static assert</span><span class="pun">(</span><span class="kwd">is</span><span class="pun">(</span><span class="typ">ControlTypeDeduction</span><span class="pun">!(</span><span class="typ">long</span><span class="pun">, </span><span class="typ">ControlType</span><span class="pun">) == </span><span class="typ">ControlType</span><span class="pun">));
</span><span class="kwd">static assert</span><span class="pun">(</span><span class="kwd">is</span><span class="pun">(</span><span class="typ">ControlTypeDeduction</span><span class="pun">!(</span><span class="typ">void</span><span class="pun">, </span><span class="typ">ControlType</span><span class="pun">) == </span><span class="typ">ControlType</span><span class="pun">));
</span><span class="kwd">static assert</span><span class="pun">(</span><span class="kwd">is</span><span class="pun">(</span><span class="typ">ControlTypeDeduction</span><span class="pun">!(</span><span class="kwd">shared </span><span class="typ">double</span><span class="pun">, </span><span class="typ">ControlType</span><span class="pun">) == </span><span class="kwd">shared </span><span class="typ">ControlType</span><span class="pun">));
</span><span class="kwd">static assert</span><span class="pun">(</span><span class="kwd">is</span><span class="pun">(</span><span class="typ">ControlTypeDeduction</span><span class="pun">!(</span><span class="kwd">const </span><span class="typ">int</span><span class="pun">, </span><span class="typ">ControlType</span><span class="pun">) == </span><span class="typ">ControlType</span><span class="pun">));
</span><span class="kwd">static assert</span><span class="pun">(</span><span class="kwd">is</span><span class="pun">(</span><span class="typ">ControlTypeDeduction</span><span class="pun">!(</span><span class="kwd">shared const </span><span class="typ">int</span><span class="pun">, </span><span class="typ">ControlType</span><span class="pun">) == </span><span class="kwd">shared </span><span class="typ">ControlType</span><span class="pun">));
</span><span class="kwd">static assert</span><span class="pun">(</span><span class="kwd">is</span><span class="pun">(</span><span class="typ">ControlBlockDeduction</span><span class="pun">!(</span><span class="typ">long</span><span class="pun">, </span><span class="pln">CB</span><span class="pun">) == </span><span class="pln">CB</span><span class="pun">));
</span><span class="kwd">static assert</span><span class="pun">(</span><span class="kwd">is</span><span class="pun">(</span><span class="typ">ControlBlockDeduction</span><span class="pun">!(</span><span class="typ">void</span><span class="pun">, </span><span class="pln">CB</span><span class="pun">) == </span><span class="pln">CB</span><span class="pun">));
</span><span class="kwd">static assert</span><span class="pun">(</span><span class="kwd">is</span><span class="pun">(</span><span class="typ">ControlBlockDeduction</span><span class="pun">!(</span><span class="kwd">shared </span><span class="typ">double</span><span class="pun">, </span><span class="pln">CB</span><span class="pun">) == </span><span class="kwd">shared </span><span class="pln">CB</span><span class="pun">));
</span><span class="kwd">static assert</span><span class="pun">(</span><span class="kwd">is</span><span class="pun">(</span><span class="typ">ControlBlockDeduction</span><span class="pun">!(</span><span class="kwd">const </span><span class="typ">int</span><span class="pun">, </span><span class="pln">CB</span><span class="pun">) == </span><span class="pln">CB</span><span class="pun">));
</span><span class="kwd">static assert</span><span class="pun">(</span><span class="kwd">is</span><span class="pun">(</span><span class="typ">ControlBlockDeduction</span><span class="pun">!(</span><span class="kwd">shared const </span><span class="typ">int</span><span class="pun">, </span><span class="pln">CB</span><span class="pun">) == </span><span class="kwd">shared </span><span class="pln">CB</span><span class="pun">));

</span><span class="kwd">static assert</span><span class="pun">(</span><span class="kwd">is</span><span class="pun">(</span><span class="typ">ControlTypeDeduction</span><span class="pun">!(</span><span class="kwd">immutable </span><span class="typ">int</span><span class="pun">, </span><span class="typ">ControlType</span><span class="pun">) == </span><span class="typ">ControlType</span><span class="pun">));
</span><span class="kwd">static assert</span><span class="pun">(</span><span class="kwd">is</span><span class="pun">(</span><span class="typ">ControlBlockDeduction</span><span class="pun">!(</span><span class="kwd">immutable </span><span class="typ">int</span><span class="pun">, </span><span class="pln">CB</span><span class="pun">) == </span><span class="pln">CB</span><span class="pun">));

</span><span class="kwd">static assert</span><span class="pun">(</span><span class="kwd">is</span><span class="pun">(</span><span class="typ">ControlTypeDeduction</span><span class="pun">!(</span><span class="kwd">shared </span><span class="typ">int</span><span class="pun">[], </span><span class="typ">ControlType</span><span class="pun">) == </span><span class="kwd">shared </span><span class="typ">ControlType</span><span class="pun">));
</span><span class="kwd">static assert</span><span class="pun">(</span><span class="kwd">is</span><span class="pun">(</span><span class="typ">ControlTypeDeduction</span><span class="pun">!(</span><span class="kwd">shared</span><span class="pun">(</span><span class="typ">int</span><span class="pun">)[], </span><span class="typ">ControlType</span><span class="pun">) == </span><span class="typ">ControlType</span><span class="pun">));
</span><span class="kwd">static assert</span><span class="pun">(</span><span class="kwd">is</span><span class="pun">(</span><span class="typ">ControlBlockDeduction</span><span class="pun">!(</span><span class="kwd">shared </span><span class="typ">int</span><span class="pun">[], </span><span class="pln">CB</span><span class="pun">) == </span><span class="kwd">shared </span><span class="pln">CB</span><span class="pun">));
</span><span class="kwd">static assert</span><span class="pun">(</span><span class="kwd">is</span><span class="pun">(</span><span class="typ">ControlBlockDeduction</span><span class="pun">!(</span><span class="kwd">shared</span><span class="pun">(</span><span class="typ">int</span><span class="pun">)[], </span><span class="pln">CB</span><span class="pun">) == </span><span class="pln">CB</span><span class="pun">));
</span></code></pre>
</section>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<html>
<head>
<meta charset="UTF-8"/>
<title>Alias SharedControlType</title>
<title>Alias SharedControlBlock</title>
<link rel="stylesheet" type="text/css" href="../../styles/ddox.css"/>
<link rel="stylesheet" href="../../prettify/prettify.css" type="text/css"/>
<script type="text/javascript" src="../../scripts/jquery.js">/**/</script><script type="text/javascript" src="../../scripts/ddox.js">/**/</script>
Expand Down Expand Up @@ -55,12 +55,12 @@
</ul>
</nav>
<div id="main-contents">
<h1>Alias SharedControlType</h1><p>Default <code class="lang-d"><a href="../../autoptr/common/ControlBlock.html"><span class="typ">ControlBlock</span></a></code> for <code class="lang-d"><span class="typ">SharedPtr</span></code> and <code class="lang-d"><span class="typ">RcPtr</span></code>.
<h1>Alias SharedControlBlock</h1><p>Default <code class="lang-d"><a href="../../autoptr/common/ControlBlock.html"><span class="typ">ControlBlock</span></a></code> for <code class="lang-d"><span class="typ">SharedPtr</span></code> and <code class="lang-d"><span class="typ">RcPtr</span></code>.
</p>
<div class="prototype">
<code class="lang-d">
<div class="single-prototype">
<span class="kwd">alias</span> <span class="pln">SharedControlType</span>
<span class="kwd">alias</span> <span class="pln">SharedControlBlock</span>
<span class="pun">=</span> <a href="../../autoptr/common/ControlBlock.html"><span class="typ">ControlBlock</span></a>!(int,int)<span class="pun">;</span>
</div>
</code>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<html>
<head>
<meta charset="UTF-8"/>
<title>Alias UniqueControlType</title>
<title>Alias UniqueControlBlock</title>
<link rel="stylesheet" type="text/css" href="../../styles/ddox.css"/>
<link rel="stylesheet" href="../../prettify/prettify.css" type="text/css"/>
<script type="text/javascript" src="../../scripts/jquery.js">/**/</script><script type="text/javascript" src="../../scripts/ddox.js">/**/</script>
Expand Down Expand Up @@ -55,12 +55,12 @@
</ul>
</nav>
<div id="main-contents">
<h1>Alias UniqueControlType</h1><p>Default <code class="lang-d"><a href="../../autoptr/common/ControlBlock.html"><span class="typ">ControlBlock</span></a></code> for <code class="lang-d"><span class="typ">UniquePtr</span></code>.
<h1>Alias UniqueControlBlock</h1><p>Default <code class="lang-d"><a href="../../autoptr/common/ControlBlock.html"><span class="typ">ControlBlock</span></a></code> for <code class="lang-d"><span class="typ">UniquePtr</span></code>.
</p>
<div class="prototype">
<code class="lang-d">
<div class="single-prototype">
<span class="kwd">alias</span> <span class="pln">UniqueControlType</span>
<span class="kwd">alias</span> <span class="pln">UniqueControlBlock</span>
<span class="pun">=</span> <a href="../../autoptr/common/ControlBlock.html"><span class="typ">ControlBlock</span></a>!(void,void)<span class="pun">;</span>
</div>
</code>
Expand Down
2 changes: 2 additions & 0 deletions docs/autoptr/intrusive_ptr/IntrusivePtr.weak.html
Original file line number Diff line number Diff line change
Expand Up @@ -78,10 +78,12 @@ <h1>Function IntrusivePtr.weak</h1><p>Returns weak pointer (must have weak count

<a href="../../autoptr/intrusive_ptr/IntrusivePtr.html"></span><span class="typ">IntrusivePtr</span></a><span class="pun">!</span><span class="typ">Foo </span><span class="pln">x </span><span class="pun">= <a href="../../autoptr/intrusive_ptr/IntrusivePtr.html"></span><span class="typ">IntrusivePtr</span></a><span class="pun">!</span><span class="typ">Foo<wbr/></span><span class="pun">.</span><span class="pln">make</span><span class="pun">(</span><span class="lit">123</span><span class="pun">);
</span><span class="kwd">assert</span><span class="pun">(</span><span class="pln">x<wbr/></span><span class="pun">.</span><span class="pln">useCount </span><span class="pun">== </span><span class="lit">1</span><span class="pun">);

</span><span class="kwd">auto </span><span class="pln">wx </span><span class="pun">= </span><span class="pln">x<wbr/></span><span class="pun">.</span><span class="pln">weak</span><span class="pun">; </span><span class="com">//weak pointer
</span><span class="kwd">assert</span><span class="pun">(</span><span class="pln">wx<wbr/></span><span class="pun">.</span><span class="pln">expired </span><span class="pun">== </span><span class="kwd">false</span><span class="pun">);
</span><span class="kwd">assert</span><span class="pun">(</span><span class="pln">wx<wbr/></span><span class="pun">.</span><span class="pln">lock<wbr/></span><span class="pun">.</span><span class="pln">get<wbr/></span><span class="pun">.</span><span class="pln">i </span><span class="pun">== </span><span class="lit">123</span><span class="pun">);
</span><span class="kwd">assert</span><span class="pun">(</span><span class="pln">wx<wbr/></span><span class="pun">.</span><span class="pln">useCount </span><span class="pun">== </span><span class="lit">1</span><span class="pun">);

</span><span class="pln">x </span><span class="pun">= </span><span class="kwd">null</span><span class="pun">;
</span><span class="kwd">assert</span><span class="pun">(</span><span class="pln">wx<wbr/></span><span class="pun">.</span><span class="pln">expired </span><span class="pun">== </span><span class="kwd">true</span><span class="pun">);
</span><span class="kwd">assert</span><span class="pun">(</span><span class="pln">wx<wbr/></span><span class="pun">.</span><span class="pln">useCount </span><span class="pun">== </span><span class="lit">0</span><span class="pun">);</span></code></pre>
Expand Down
4 changes: 2 additions & 2 deletions docs/autoptr/rc_ptr/RcPtr.this.html
Original file line number Diff line number Diff line change
Expand Up @@ -154,13 +154,13 @@ <h2 id="1">Function RcPtr.this</h2><p>Constructs a <code class="lang-d"><a href=

{
</span><span class="kwd">import </span><span class="pln">core<wbr/></span><span class="pun">.</span><span class="pln">lifetime </span><span class="pun">: </span><span class="pln">move</span><span class="pun">;
</span><span class="kwd">auto </span><span class="pln">u </span><span class="pun">= </span><span class="typ">UniquePtr</span><span class="pun">!(</span><span class="typ">long</span><span class="pun">, </span><span class="typ">SharedControlType</span><span class="pun">)<wbr/>.</span><span class="pln">make</span><span class="pun">(</span><span class="lit">123</span><span class="pun">);
</span><span class="kwd">auto </span><span class="pln">u </span><span class="pun">= </span><span class="typ">UniquePtr</span><span class="pun">!(</span><span class="typ">long</span><span class="pun">, </span><span class="typ">SharedControlBlock</span><span class="pun">)<wbr/>.</span><span class="pln">make</span><span class="pun">(</span><span class="lit">123</span><span class="pun">);

<a href="../../autoptr/rc_ptr/RcPtr.html"></span><span class="typ">RcPtr</span></a><span class="pun">!</span><span class="typ">long </span><span class="pln">s </span><span class="pun">= </span><span class="pln">move</span><span class="pun">(</span><span class="pln">u</span><span class="pun">); </span><span class="com">//rvalue copy ctor
</span><span class="kwd">assert</span><span class="pun">(</span><span class="pln">s </span><span class="pun">!= </span><span class="kwd">null</span><span class="pun">);
</span><span class="kwd">assert</span><span class="pun">(</span><span class="pln">s<wbr/></span><span class="pun">.</span><span class="pln">useCount </span><span class="pun">== </span><span class="lit">1</span><span class="pun">);

<a href="../../autoptr/rc_ptr/RcPtr.html"></span><span class="typ">RcPtr</span></a><span class="pun">!</span><span class="typ">long </span><span class="pln">s2 </span><span class="pun">= </span><span class="typ">UniquePtr</span><span class="pun">!(</span><span class="typ">long</span><span class="pun">, </span><span class="typ">SharedControlType</span><span class="pun">)<wbr/>.</span><span class="pln">init</span><span class="pun">;
<a href="../../autoptr/rc_ptr/RcPtr.html"></span><span class="typ">RcPtr</span></a><span class="pun">!</span><span class="typ">long </span><span class="pln">s2 </span><span class="pun">= </span><span class="typ">UniquePtr</span><span class="pun">!(</span><span class="typ">long</span><span class="pun">, </span><span class="typ">SharedControlBlock</span><span class="pun">)<wbr/>.</span><span class="pln">init</span><span class="pun">;
</span><span class="kwd">assert</span><span class="pun">(</span><span class="pln">s2 </span><span class="pun">== </span><span class="kwd">null</span><span class="pun">);
}</span></code></pre>
</section>
Expand Down
Loading

0 comments on commit 20e4f48

Please sign in to comment.