aboutsummaryrefslogtreecommitdiffstats
path: root/doc/html/classmeow_1_1Self.html
diff options
context:
space:
mode:
Diffstat (limited to 'doc/html/classmeow_1_1Self.html')
-rw-r--r--doc/html/classmeow_1_1Self.html231
1 files changed, 19 insertions, 212 deletions
diff --git a/doc/html/classmeow_1_1Self.html b/doc/html/classmeow_1_1Self.html
index 0b2b4b8..8fc3ee6 100644
--- a/doc/html/classmeow_1_1Self.html
+++ b/doc/html/classmeow_1_1Self.html
@@ -28,7 +28,7 @@
<td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
<td style="padding-left: 0.5em;">
<div id="projectname">Templates -- Meow
- &#160;<span id="projectnumber">204.13.18</span>
+ &#160;<span id="projectnumber">1.2.9</span>
</div>
<div id="projectbrief">A C++ template contains kinds of interesting classes and functions</div>
</td>
@@ -55,7 +55,6 @@ $(document).ready(function(){initNavTree('classmeow_1_1Self.html','');});
<div id="doc-content">
<div class="header">
<div class="summary">
-<a href="#nested-classes">Classes</a> &#124;
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classmeow_1_1Self-members.html">List of all members</a> </div>
@@ -64,153 +63,53 @@ $(document).ready(function(){initNavTree('classmeow_1_1Self.html','');});
</div><!--header-->
<div class="contents">
-<p>A little class use for packing the data part of another class. With this technique, it can achieve Copy-On-Write(COR) mechanism at background and have a reference mechanism which much more flexible then the one C++ has.
- <a href="classmeow_1_1Self.html#details">More...</a></p>
-
<p><code>#include &quot;<a class="el" href="Self_8h_source.html">Self.h</a>&quot;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
-<tr class="memitem:aa7d169e9d20d590f3e571206084797f8"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmeow_1_1Self.html#aa7d169e9d20d590f3e571206084797f8">DuplicateType</a> { <a class="el" href="classmeow_1_1Self.html#aa7d169e9d20d590f3e571206084797f8adef1b0d02e1090b1b610a4ea91bd6730">COPY_FROM</a>,
-<a class="el" href="classmeow_1_1Self.html#aa7d169e9d20d590f3e571206084797f8a40c8a3eba568e04a5ce09ee0fa881822">REFERENCE_FROM</a>
+<tr class="memitem:aa7d169e9d20d590f3e571206084797f8"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmeow_1_1Self.html#aa7d169e9d20d590f3e571206084797f8">DuplicateType</a> { <a class="el" href="classmeow_1_1Self.html#aa7d169e9d20d590f3e571206084797f8adef1b0d02e1090b1b610a4ea91bd6730">COPY_FROM</a>
}</td></tr>
-<tr class="memdesc:aa7d169e9d20d590f3e571206084797f8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Kind of ways of duplicating. <a href="classmeow_1_1Self.html#aa7d169e9d20d590f3e571206084797f8">More...</a><br/></td></tr>
<tr class="separator:aa7d169e9d20d590f3e571206084797f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a6b39fcc4b184809f9aeaeb1c9a0bac2d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmeow_1_1Self.html#a6b39fcc4b184809f9aeaeb1c9a0bac2d">Self</a> ()</td></tr>
-<tr class="memdesc:a6b39fcc4b184809f9aeaeb1c9a0bac2d"><td class="mdescLeft">&#160;</td><td class="mdescRight">constructor with a real entity <a href="#a6b39fcc4b184809f9aeaeb1c9a0bac2d">More...</a><br/></td></tr>
<tr class="separator:a6b39fcc4b184809f9aeaeb1c9a0bac2d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af3220c1e1d7966c6dbaf4ec62f8cbc2f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmeow_1_1Self.html#af3220c1e1d7966c6dbaf4ec62f8cbc2f">Self</a> (Data const &amp;d)</td></tr>
-<tr class="memdesc:af3220c1e1d7966c6dbaf4ec62f8cbc2f"><td class="mdescLeft">&#160;</td><td class="mdescRight">connstructor with a real entity with it using its copy constructor <a href="#af3220c1e1d7966c6dbaf4ec62f8cbc2f">More...</a><br/></td></tr>
<tr class="separator:af3220c1e1d7966c6dbaf4ec62f8cbc2f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afee797a10c73a1c8e02c8e6315a2930b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmeow_1_1Self.html#afee797a10c73a1c8e02c8e6315a2930b">Self</a> (<a class="el" href="classmeow_1_1Self.html">Self</a> const &amp;b, <a class="el" href="classmeow_1_1Self.html#aa7d169e9d20d590f3e571206084797f8">DuplicateType</a> d)</td></tr>
-<tr class="memdesc:afee797a10c73a1c8e02c8e6315a2930b"><td class="mdescLeft">&#160;</td><td class="mdescRight">constructor with given another <a class="el" href="classmeow_1_1Self.html" title="A little class use for packing the data part of another class. With this technique, it can achieve Copy-On-Write(COR) mechanism at background and have a reference mechanism which much more flexible then the one C++ has. ">Self</a> <a href="#afee797a10c73a1c8e02c8e6315a2930b">More...</a><br/></td></tr>
<tr class="separator:afee797a10c73a1c8e02c8e6315a2930b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a000ede7e217c31401cc0a4b1c6749ee5"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmeow_1_1Self.html#a000ede7e217c31401cc0a4b1c6749ee5">Self</a> (<a class="el" href="classmeow_1_1Self.html">Self</a> const &amp;b)</td></tr>
-<tr class="memdesc:a000ede7e217c31401cc0a4b1c6749ee5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Disallow copy constructor. <a href="#a000ede7e217c31401cc0a4b1c6749ee5">More...</a><br/></td></tr>
<tr class="separator:a000ede7e217c31401cc0a4b1c6749ee5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ada16564a03665b10810a6342d61044bc"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmeow_1_1Self.html#ada16564a03665b10810a6342d61044bc">~Self</a> ()</td></tr>
-<tr class="memdesc:ada16564a03665b10810a6342d61044bc"><td class="mdescLeft">&#160;</td><td class="mdescRight">destructor <a href="#ada16564a03665b10810a6342d61044bc">More...</a><br/></td></tr>
<tr class="separator:ada16564a03665b10810a6342d61044bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6063551c3e6ac647500e938ade8fbc99"><td class="memItemLeft" align="right" valign="top">Data const *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmeow_1_1Self.html#a6063551c3e6ac647500e938ade8fbc99">operator-&gt;</a> () const </td></tr>
-<tr class="memdesc:a6063551c3e6ac647500e938ade8fbc99"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the constant pointer to the data. <a href="#a6063551c3e6ac647500e938ade8fbc99">More...</a><br/></td></tr>
<tr class="separator:a6063551c3e6ac647500e938ade8fbc99"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ace312355261c68ac7531767939f5c4c2"><td class="memItemLeft" align="right" valign="top">Data *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmeow_1_1Self.html#ace312355261c68ac7531767939f5c4c2">operator-&gt;</a> ()</td></tr>
-<tr class="memdesc:ace312355261c68ac7531767939f5c4c2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the non-constant pointer to the data (COR's clone might occure here. <a href="#ace312355261c68ac7531767939f5c4c2">More...</a><br/></td></tr>
<tr class="separator:ace312355261c68ac7531767939f5c4c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5962339e9ee49312ab770f1119256ca6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmeow_1_1Self.html">Self</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmeow_1_1Self.html#a5962339e9ee49312ab770f1119256ca6">operator()</a> () const </td></tr>
-<tr class="memdesc:a5962339e9ee49312ab770f1119256ca6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the non-constant reference of <code>*this</code>. <a href="#a5962339e9ee49312ab770f1119256ca6">More...</a><br/></td></tr>
<tr class="separator:a5962339e9ee49312ab770f1119256ca6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9cd016a38a09f479fe2ed83eb1ebdae2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmeow_1_1Self.html">Self</a> const &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmeow_1_1Self.html#a9cd016a38a09f479fe2ed83eb1ebdae2">copyFrom</a> (<a class="el" href="classmeow_1_1Self.html">Self</a> const &amp;s)</td></tr>
-<tr class="memdesc:a9cd016a38a09f479fe2ed83eb1ebdae2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy the gived <code><a class="el" href="classmeow_1_1Self.html" title="A little class use for packing the data part of another class. With this technique, it can achieve Copy-On-Write(COR) mechanism at background and have a reference mechanism which much more flexible then the one C++ has. ">Self</a></code> to myself. <a href="#a9cd016a38a09f479fe2ed83eb1ebdae2">More...</a><br/></td></tr>
<tr class="separator:a9cd016a38a09f479fe2ed83eb1ebdae2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a63e1570c927c7fa3b95b71fe978e355d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmeow_1_1Self.html">Self</a> const &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmeow_1_1Self.html#a63e1570c927c7fa3b95b71fe978e355d">referenceFrom</a> (<a class="el" href="classmeow_1_1Self.html">Self</a> const &amp;s)</td></tr>
-<tr class="memdesc:a63e1570c927c7fa3b95b71fe978e355d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reference myself from given <code><a class="el" href="classmeow_1_1Self.html" title="A little class use for packing the data part of another class. With this technique, it can achieve Copy-On-Write(COR) mechanism at background and have a reference mechanism which much more flexible then the one C++ has. ">Self</a></code> object. <a href="#a63e1570c927c7fa3b95b71fe978e355d">More...</a><br/></td></tr>
<tr class="separator:a63e1570c927c7fa3b95b71fe978e355d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae4256bfc598bb0db76141ffce506806e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmeow_1_1Self.html">Self</a> const &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmeow_1_1Self.html#ae4256bfc598bb0db76141ffce506806e">duplicateFrom</a> (<a class="el" href="classmeow_1_1Self.html">Self</a> const &amp;s, <a class="el" href="classmeow_1_1Self.html#aa7d169e9d20d590f3e571206084797f8">DuplicateType</a> t)</td></tr>
-<tr class="memdesc:ae4256bfc598bb0db76141ffce506806e"><td class="mdescLeft">&#160;</td><td class="mdescRight">call <code><a class="el" href="classmeow_1_1Self.html#a9cd016a38a09f479fe2ed83eb1ebdae2" title="Copy the gived Self to myself. ">copyFrom()</a></code> or <code><a class="el" href="classmeow_1_1Self.html#a63e1570c927c7fa3b95b71fe978e355d" title="Reference myself from given Self object. ">referenceFrom()</a></code> depend on your instruction <a href="#ae4256bfc598bb0db76141ffce506806e">More...</a><br/></td></tr>
<tr class="separator:ae4256bfc598bb0db76141ffce506806e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab3671e44693b79e2f987f59652d46ca9"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmeow_1_1Self.html#ab3671e44693b79e2f987f59652d46ca9">same</a> (<a class="el" href="classmeow_1_1Self.html">Self</a> const &amp;s) const </td></tr>
-<tr class="memdesc:ab3671e44693b79e2f987f59652d46ca9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compare tht if the gived <code><a class="el" href="classmeow_1_1Self.html" title="A little class use for packing the data part of another class. With this technique, it can achieve Copy-On-Write(COR) mechanism at background and have a reference mechanism which much more flexible then the one C++ has. ">Self</a></code> object is reference from the same object of me. <a href="#ab3671e44693b79e2f987f59652d46ca9">More...</a><br/></td></tr>
<tr class="separator:ab3671e44693b79e2f987f59652d46ca9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a91098e2218c358470e81d64f35d6491d"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmeow_1_1Self.html#a91098e2218c358470e81d64f35d6491d">equal</a> (<a class="el" href="classmeow_1_1Self.html">Self</a> const &amp;s) const </td></tr>
-<tr class="memdesc:a91098e2218c358470e81d64f35d6491d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compare that the data are the same. <a href="#a91098e2218c358470e81d64f35d6491d">More...</a><br/></td></tr>
<tr class="separator:a91098e2218c358470e81d64f35d6491d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a10f22a83c3afcf65f8f9680f2a2f945c"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmeow_1_1Self.html#a10f22a83c3afcf65f8f9680f2a2f945c">referenceLess</a> (<a class="el" href="classmeow_1_1Self.html">Self</a> const &amp;s) const </td></tr>
-<tr class="memdesc:a10f22a83c3afcf65f8f9680f2a2f945c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Order compare by reference pointer. <a href="#a10f22a83c3afcf65f8f9680f2a2f945c">More...</a><br/></td></tr>
<tr class="separator:a10f22a83c3afcf65f8f9680f2a2f945c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af3277e1109c59e5f81549889b344a675"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmeow_1_1Self.html#af3277e1109c59e5f81549889b344a675">operator=</a> (<a class="el" href="classmeow_1_1Self.html">Self</a> const &amp;a)</td></tr>
-<tr class="memdesc:af3277e1109c59e5f81549889b344a675"><td class="mdescLeft">&#160;</td><td class="mdescRight">Disallow default <code>'operator='</code>. <a href="#af3277e1109c59e5f81549889b344a675">More...</a><br/></td></tr>
<tr class="separator:af3277e1109c59e5f81549889b344a675"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><h3>template&lt;class Data&gt;<br/>
class meow::Self&lt; Data &gt;</h3>
-<p>A little class use for packing the data part of another class. With this technique, it can achieve Copy-On-Write(COR) mechanism at background and have a reference mechanism which much more flexible then the one C++ has. </p>
-<p>Sample code: </p>
-<div class="fragment"><div class="line"><span class="keyword">class </span>A {</div>
-<div class="line"><span class="keyword">private</span>:</div>
-<div class="line"> <span class="keyword">struct </span>Myself {</div>
-<div class="line"> <span class="keywordtype">int</span> data;</div>
-<div class="line"></div>
-<div class="line"> Myself() { <span class="comment">// Necessary</span></div>
-<div class="line"> data = 0;</div>
-<div class="line"> }</div>
-<div class="line"></div>
-<div class="line"> Myself(Myself <span class="keyword">const</span>&amp; b): data(b.data) { <span class="comment">// Necessary, copy constructor</span></div>
-<div class="line"> }</div>
-<div class="line"></div>
-<div class="line"> ~Myself() {</div>
-<div class="line"> }</div>
-<div class="line"></div>
-<div class="line"> <span class="keywordtype">bool</span> operator==(Myself <span class="keyword">const</span>&amp; b)<span class="keyword"> const </span>{ <span class="comment">// Optional (this method will</span></div>
-<div class="line"> <span class="comment">// be called only if you use</span></div>
-<div class="line"> <span class="comment">// Self::equal() method)</span></div>
-<div class="line"> <span class="keywordflow">return</span> (data == b.data);</div>
-<div class="line"> }</div>
-<div class="line"> };</div>
-<div class="line"></div>
-<div class="line"> Self&lt;Myself&gt; <span class="keyword">const</span> <span class="keyword">self</span>; <span class="comment">// Here we use &#39;constant&#39; data type in</span></div>
-<div class="line"> <span class="comment">// order to have a coutious coding style</span></div>
-<div class="line"> <span class="comment">// and allow the COR mechanism to clone</span></div>
-<div class="line"> <span class="comment">// data only when we really want to</span></div>
-<div class="line"> <span class="comment">// modify them.</span></div>
-<div class="line"><span class="keyword">public</span>:</div>
-<div class="line"> A(): self() { } <span class="comment">// Default constructor</span></div>
-<div class="line"></div>
-<div class="line"> A(A <span class="keyword">const</span>&amp; a): self(a.self, <a class="code" href="classmeow_1_1Self.html#aa7d169e9d20d590f3e571206084797f8adef1b0d02e1090b1b610a4ea91bd6730">COPY_FROM</a>) { } <span class="comment">// Copy constructor. You must</span></div>
-<div class="line"> <span class="comment">// tell me which way of</span></div>
-<div class="line"> <span class="comment">// duplicating should I use.</span></div>
-<div class="line"> <span class="comment">// It strongly recommended you</span></div>
-<div class="line"> <span class="comment">// use COYP_FROM for keeping the</span></div>
-<div class="line"> <span class="comment">// C++&#39;s original behavior.</span></div>
-<div class="line"> ~A() { }</div>
-<div class="line"></div>
-<div class="line"> <span class="keywordtype">int</span> getMemember(<span class="keywordtype">int</span> wh)<span class="keyword"> const </span>{</div>
-<div class="line"> <span class="keywordflow">return</span> <span class="keyword">self</span>-&gt;data; <span class="comment">// Use &#39;operator-&gt;()&#39; to get the pointer of the data</span></div>
-<div class="line"> <span class="comment">// The pointer is constant or not will depend on</span></div>
-<div class="line"> <span class="comment">// whether the left side variable of &#39;-&gt;&#39; is</span></div>
-<div class="line"> <span class="comment">// constant or not.</span></div>
-<div class="line"> <span class="comment">// If we just want to read the data, use</span></div>
-<div class="line"> <span class="comment">// &#39;self&#39; instead of &#39;self()&#39;</span></div>
-<div class="line"> }</div>
-<div class="line"> <span class="keywordtype">void</span> setMemeber(<span class="keywordtype">int</span> k) {</div>
-<div class="line"> <span class="keyword">self</span>()-&gt;data = k; <span class="comment">// As a result of &#39;self()&#39; returning a non-constant</span></div>
-<div class="line"> <span class="comment">// reference of itself, here we get the permission</span></div>
-<div class="line"> <span class="comment">// for modiying data.</span></div>
-<div class="line"> <span class="comment">// So now we can observe that if you type</span></div>
-<div class="line"> <span class="comment">// &#39;Self&lt;Myself&gt; self&#39; instead of the one above,</span></div>
-<div class="line"> <span class="comment">// &#39;self&#39; and &#39;self()&#39; will become the same one and</span></div>
-<div class="line"> <span class="comment">// both of them allow you using &#39;-&gt;&#39; for getting</span></div>
-<div class="line"> <span class="comment">// writing permission. At the same time, the COR</span></div>
-<div class="line"> <span class="comment">// machanism will become useless because everytime</span></div>
-<div class="line"> <span class="comment">// you want to access the date, Self will copy the</span></div>
-<div class="line"> <span class="comment">// data to prevent you to modify it no matter that</span></div>
-<div class="line"> <span class="comment">// you might just want to read it.</span></div>
-<div class="line"> }</div>
-<div class="line"></div>
-<div class="line"> A <a class="code" href="classmeow_1_1Self.html#a63e1570c927c7fa3b95b71fe978e355d">referenceFrom</a>(A <span class="keyword">const</span>&amp; a) {</div>
-<div class="line"> <span class="keyword">self</span>.<a class="code" href="classmeow_1_1Self.html#a63e1570c927c7fa3b95b71fe978e355d">referenceFrom</a>(a.self);</div>
-<div class="line"> }</div>
-<div class="line"></div>
-<div class="line"> A <a class="code" href="classmeow_1_1Self.html#a9cd016a38a09f479fe2ed83eb1ebdae2">copyFrom</a>(A <span class="keyword">const</span>&amp; a) {</div>
-<div class="line"> <span class="keyword">self</span>.<a class="code" href="classmeow_1_1Self.html#a9cd016a38a09f479fe2ed83eb1ebdae2">copyFrom</a>(a.self);</div>
-<div class="line"> }</div>
-<div class="line"></div>
-<div class="line"> A&amp; <a class="code" href="classmeow_1_1Self.html#af3277e1109c59e5f81549889b344a675">operator=</a>(A <span class="keyword">const</span>&amp; b) { <span class="comment">// If you really like to use operator=, it</span></div>
-<div class="line"> <span class="comment">// strongly recommended you use &#39;copyFrom()&#39; for</span></div>
-<div class="line"> <span class="comment">// keeping C++&#39;s original behavior.</span></div>
-<div class="line"> <a class="code" href="classmeow_1_1Self.html#a9cd016a38a09f479fe2ed83eb1ebdae2">copyFrom</a>(b);</div>
-<div class="line"> }</div>
-<div class="line">};</div>
-</div><!-- fragment --><p> Note that '<a class="el" href="classmeow_1_1Self.html#a63e1570c927c7fa3b95b71fe978e355d" title="Reference myself from given Self object. ">referenceFrom()</a>' will cause the two object become the same one, Which means that if you do something like '<code>a.referenceFrom(b)</code>; <code>a.copyFrom(c)</code>; ', the result is that the value of <code>a</code>,b,c will all the same one.</p>
-<dl class="section author"><dt>Author</dt><dd>cathook</dd></dl>
-<dl class="section warning"><dt>Warning</dt><dd>This class disabled the method <code>operator=</code> and copy constructor in order to prevent upexplicit default behavior, so if you want to have one of them (or both), you must implement yourself </dd></dl>
-
-<p>Definition at line <a class="el" href="Self_8h_source.html#l00104">104</a> of file <a class="el" href="Self_8h_source.html">Self.h</a>.</p>
+
+<p>Definition at line <a class="el" href="Self_8h_source.html#l00013">13</a> of file <a class="el" href="Self_8h_source.html">Self.h</a>.</p>
</div><h2 class="groupheader">Member Enumeration Documentation</h2>
<a class="anchor" id="aa7d169e9d20d590f3e571206084797f8"></a>
<div class="memitem">
@@ -223,18 +122,12 @@ template&lt;class Data&gt; </div>
</tr>
</table>
</div><div class="memdoc">
-
-<p>Kind of ways of duplicating. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="aa7d169e9d20d590f3e571206084797f8adef1b0d02e1090b1b610a4ea91bd6730"></a>COPY_FROM</em>&#160;</td><td class="fielddoc">
-<p>Normal copy operation. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="aa7d169e9d20d590f3e571206084797f8a40c8a3eba568e04a5ce09ee0fa881822"></a>REFERENCE_FROM</em>&#160;</td><td class="fielddoc">
-<p>By reference, much like pointer's copy operation. </p>
</td></tr>
</table>
-<p>Definition at line <a class="el" href="Self_8h_source.html#l00109">109</a> of file <a class="el" href="Self_8h_source.html">Self.h</a>.</p>
+<p>Definition at line <a class="el" href="Self_8h_source.html#l00015">15</a> of file <a class="el" href="Self_8h_source.html">Self.h</a>.</p>
</div>
</div>
@@ -262,9 +155,7 @@ template&lt;class Data&gt; </div>
</table>
</div><div class="memdoc">
-<p>constructor with a real entity </p>
-
-<p>Definition at line <a class="el" href="Self_8h_source.html#l00200">200</a> of file <a class="el" href="Self_8h_source.html">Self.h</a>.</p>
+<p>Definition at line <a class="el" href="Self_8h_source.html#l00021">21</a> of file <a class="el" href="Self_8h_source.html">Self.h</a>.</p>
</div>
</div>
@@ -292,15 +183,7 @@ template&lt;class Data&gt; </div>
</table>
</div><div class="memdoc">
-<p>connstructor with a real entity with it using its copy constructor </p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">d</td><td>Inital data </td></tr>
- </table>
- </dd>
-</dl>
-
-<p>Definition at line <a class="el" href="Self_8h_source.html#l00208">208</a> of file <a class="el" href="Self_8h_source.html">Self.h</a>.</p>
+<p>Definition at line <a class="el" href="Self_8h_source.html#l00022">22</a> of file <a class="el" href="Self_8h_source.html">Self.h</a>.</p>
</div>
</div>
@@ -338,16 +221,7 @@ template&lt;class Data&gt; </div>
</table>
</div><div class="memdoc">
-<p>constructor with given another <a class="el" href="classmeow_1_1Self.html" title="A little class use for packing the data part of another class. With this technique, it can achieve Copy-On-Write(COR) mechanism at background and have a reference mechanism which much more flexible then the one C++ has. ">Self</a> </p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Another <a class="el" href="classmeow_1_1Self.html" title="A little class use for packing the data part of another class. With this technique, it can achieve Copy-On-Write(COR) mechanism at background and have a reference mechanism which much more flexible then the one C++ has. ">Self</a> object. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">d</td><td>To indicate type of way of duplicating </td></tr>
- </table>
- </dd>
-</dl>
-
-<p>Definition at line <a class="el" href="Self_8h_source.html#l00217">217</a> of file <a class="el" href="Self_8h_source.html">Self.h</a>.</p>
+<p>Definition at line <a class="el" href="Self_8h_source.html#l00023">23</a> of file <a class="el" href="Self_8h_source.html">Self.h</a>.</p>
</div>
</div>
@@ -367,8 +241,6 @@ template&lt;class Data&gt; </div>
</table>
</div><div class="memdoc">
-<p>Disallow copy constructor. </p>
-
</div>
</div>
<a class="anchor" id="ada16564a03665b10810a6342d61044bc"></a>
@@ -394,9 +266,7 @@ template&lt;class Data&gt; </div>
</table>
</div><div class="memdoc">
-<p>destructor </p>
-
-<p>Definition at line <a class="el" href="Self_8h_source.html#l00233">233</a> of file <a class="el" href="Self_8h_source.html">Self.h</a>.</p>
+<p>Definition at line <a class="el" href="Self_8h_source.html#l00025">25</a> of file <a class="el" href="Self_8h_source.html">Self.h</a>.</p>
</div>
</div>
@@ -425,16 +295,7 @@ template&lt;class Data&gt; </div>
</table>
</div><div class="memdoc">
-<p>Copy the gived <code><a class="el" href="classmeow_1_1Self.html" title="A little class use for packing the data part of another class. With this technique, it can achieve Copy-On-Write(COR) mechanism at background and have a reference mechanism which much more flexible then the one C++ has. ">Self</a></code> to myself. </p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">s</td><td>gived <code><a class="el" href="classmeow_1_1Self.html" title="A little class use for packing the data part of another class. With this technique, it can achieve Copy-On-Write(COR) mechanism at background and have a reference mechanism which much more flexible then the one C++ has. ">Self</a></code> </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>*this </dd></dl>
-
-<p>Definition at line <a class="el" href="Self_8h_source.html#l00260">260</a> of file <a class="el" href="Self_8h_source.html">Self.h</a>.</p>
+<p>Definition at line <a class="el" href="Self_8h_source.html#l00029">29</a> of file <a class="el" href="Self_8h_source.html">Self.h</a>.</p>
</div>
</div>
@@ -472,17 +333,7 @@ template&lt;class Data&gt; </div>
</table>
</div><div class="memdoc">
-<p>call <code><a class="el" href="classmeow_1_1Self.html#a9cd016a38a09f479fe2ed83eb1ebdae2" title="Copy the gived Self to myself. ">copyFrom()</a></code> or <code><a class="el" href="classmeow_1_1Self.html#a63e1570c927c7fa3b95b71fe978e355d" title="Reference myself from given Self object. ">referenceFrom()</a></code> depend on your instruction </p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">s</td><td>gived <code><a class="el" href="classmeow_1_1Self.html" title="A little class use for packing the data part of another class. With this technique, it can achieve Copy-On-Write(COR) mechanism at background and have a reference mechanism which much more flexible then the one C++ has. ">Self</a></code> object </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">t</td><td>instruction </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>*this </dd></dl>
-
-<p>Definition at line <a class="el" href="Self_8h_source.html#l00289">289</a> of file <a class="el" href="Self_8h_source.html">Self.h</a>.</p>
+<p>Definition at line <a class="el" href="Self_8h_source.html#l00033">33</a> of file <a class="el" href="Self_8h_source.html">Self.h</a>.</p>
</div>
</div>
@@ -510,17 +361,7 @@ template&lt;class Data&gt; </div>
</table>
</div><div class="memdoc">
-<p>Compare that the data are the same. </p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">s</td><td>another <code><a class="el" href="classmeow_1_1Self.html" title="A little class use for packing the data part of another class. With this technique, it can achieve Copy-On-Write(COR) mechanism at background and have a reference mechanism which much more flexible then the one C++ has. ">Self</a></code> object </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd><code>true</code> if the data are same.</dd></dl>
-<dl class="section note"><dt>Note</dt><dd>This will need the method 'Data::equal()' </dd></dl>
-
-<p>Definition at line <a class="el" href="Self_8h_source.html#l00316">316</a> of file <a class="el" href="Self_8h_source.html">Self.h</a>.</p>
+<p>Definition at line <a class="el" href="Self_8h_source.html#l00037">37</a> of file <a class="el" href="Self_8h_source.html">Self.h</a>.</p>
</div>
</div>
@@ -547,9 +388,7 @@ template&lt;class Data&gt; </div>
</table>
</div><div class="memdoc">
-<p>Return the non-constant reference of <code>*this</code>. </p>
-
-<p>Definition at line <a class="el" href="Self_8h_source.html#l00250">250</a> of file <a class="el" href="Self_8h_source.html">Self.h</a>.</p>
+<p>Definition at line <a class="el" href="Self_8h_source.html#l00028">28</a> of file <a class="el" href="Self_8h_source.html">Self.h</a>.</p>
</div>
</div>
@@ -576,9 +415,7 @@ template&lt;class Data&gt; </div>
</table>
</div><div class="memdoc">
-<p>Return the constant pointer to the data. </p>
-
-<p>Definition at line <a class="el" href="Self_8h_source.html#l00238">238</a> of file <a class="el" href="Self_8h_source.html">Self.h</a>.</p>
+<p>Definition at line <a class="el" href="Self_8h_source.html#l00026">26</a> of file <a class="el" href="Self_8h_source.html">Self.h</a>.</p>
</div>
</div>
@@ -605,9 +442,7 @@ template&lt;class Data&gt; </div>
</table>
</div><div class="memdoc">
-<p>Return the non-constant pointer to the data (COR's clone might occure here. </p>
-
-<p>Definition at line <a class="el" href="Self_8h_source.html#l00245">245</a> of file <a class="el" href="Self_8h_source.html">Self.h</a>.</p>
+<p>Definition at line <a class="el" href="Self_8h_source.html#l00027">27</a> of file <a class="el" href="Self_8h_source.html">Self.h</a>.</p>
</div>
</div>
@@ -627,8 +462,6 @@ template&lt;class Data&gt; </div>
</table>
</div><div class="memdoc">
-<p>Disallow default <code>'operator='</code>. </p>
-
</div>
</div>
<a class="anchor" id="a63e1570c927c7fa3b95b71fe978e355d"></a>
@@ -655,16 +488,7 @@ template&lt;class Data&gt; </div>
</table>
</div><div class="memdoc">
-<p>Reference myself from given <code><a class="el" href="classmeow_1_1Self.html" title="A little class use for packing the data part of another class. With this technique, it can achieve Copy-On-Write(COR) mechanism at background and have a reference mechanism which much more flexible then the one C++ has. ">Self</a></code> object. </p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">s</td><td>given <code><a class="el" href="classmeow_1_1Self.html" title="A little class use for packing the data part of another class. With this technique, it can achieve Copy-On-Write(COR) mechanism at background and have a reference mechanism which much more flexible then the one C++ has. ">Self</a></code> </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>*this </dd></dl>
-
-<p>Definition at line <a class="el" href="Self_8h_source.html#l00273">273</a> of file <a class="el" href="Self_8h_source.html">Self.h</a>.</p>
+<p>Definition at line <a class="el" href="Self_8h_source.html#l00030">30</a> of file <a class="el" href="Self_8h_source.html">Self.h</a>.</p>
</div>
</div>
@@ -692,15 +516,7 @@ template&lt;class Data&gt; </div>
</table>
</div><div class="memdoc">
-<p>Order compare by reference pointer. </p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">s</td><td>another <code><a class="el" href="classmeow_1_1Self.html" title="A little class use for packing the data part of another class. With this technique, it can achieve Copy-On-Write(COR) mechanism at background and have a reference mechanism which much more flexible then the one C++ has. ">Self</a></code> object </td></tr>
- </table>
- </dd>
-</dl>
-
-<p>Definition at line <a class="el" href="Self_8h_source.html#l00326">326</a> of file <a class="el" href="Self_8h_source.html">Self.h</a>.</p>
+<p>Definition at line <a class="el" href="Self_8h_source.html#l00038">38</a> of file <a class="el" href="Self_8h_source.html">Self.h</a>.</p>
</div>
</div>
@@ -728,16 +544,7 @@ template&lt;class Data&gt; </div>
</table>
</div><div class="memdoc">
-<p>Compare tht if the gived <code><a class="el" href="classmeow_1_1Self.html" title="A little class use for packing the data part of another class. With this technique, it can achieve Copy-On-Write(COR) mechanism at background and have a reference mechanism which much more flexible then the one C++ has. ">Self</a></code> object is reference from the same object of me. </p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">s</td><td>gived <code><a class="el" href="classmeow_1_1Self.html" title="A little class use for packing the data part of another class. With this technique, it can achieve Copy-On-Write(COR) mechanism at background and have a reference mechanism which much more flexible then the one C++ has. ">Self</a></code> object </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd><code>true</code> if we are referenced to the same object. </dd></dl>
-
-<p>Definition at line <a class="el" href="Self_8h_source.html#l00304">304</a> of file <a class="el" href="Self_8h_source.html">Self.h</a>.</p>
+<p>Definition at line <a class="el" href="Self_8h_source.html#l00036">36</a> of file <a class="el" href="Self_8h_source.html">Self.h</a>.</p>
</div>
</div>
@@ -751,7 +558,7 @@ template&lt;class Data&gt; </div>
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="namespacemeow.html">meow</a></li><li class="navelem"><a class="el" href="classmeow_1_1Self.html">Self</a></li>
- <li class="footer">Generated on Tue Jun 24 2014 03:53:36 for Templates -- Meow by
+ <li class="footer">Generated on Fri Jun 27 2014 18:24:41 for Templates -- Meow by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6 </li>
</ul>